Skip to contentSkip to conversation

jffs2_acl_count() tests < 0 on unsigned

PATCH New Roel Kluin 1 participant 1 message Mar 1, 2009

Subsystems (2)
lore
Share & tools
lore

Roel Kluin

author
#0 lore raw

PATCH 1/1 jffs2_acl_count() tests < 0 on unsigned

This patch wasn't tested in any way. ------------------------------>8-------------8<--------------------------------- size_t s is unsigned and cannot be less than 0.

---

fs/jffs2/acl.c +2 -2
index d987137..6e63e8b 100644
@@ -38,12 +38,12 @@ static int jffs2_acl_count(size_t size)
 	size_t s;
 
 	size -= sizeof(struct jffs2_acl_header);
-	s = size - 4 * sizeof(struct jffs2_acl_entry_short);
-	if (s < 0) {
+	if (size < 4 * sizeof(struct jffs2_acl_entry_short)) {
 		if (size % sizeof(struct jffs2_acl_entry_short))
 			return -1;
 		return size / sizeof(struct jffs2_acl_entry_short);
 	} else {
+		s = size - 4 * sizeof(struct jffs2_acl_entry_short);
 		if (s % sizeof(struct jffs2_acl_entry))
 			return -1;
 		return s / sizeof(struct jffs2_acl_entry) + 4;