[PATCH] jffs2_acl_count() tests < 0 on unsigned
Roel Kluin
roel.kluin at gmail.com
Sun Mar 1 15:35:28 EST 2009
This patch wasn't tested in any way.
------------------------------>8-------------8<---------------------------------
size_t s is unsigned and cannot be less than 0.
Signed-off-by: Roel Kluin <roel.kluin at gmail.com>
---
diff --git a/fs/jffs2/acl.c b/fs/jffs2/acl.c
index d987137..6e63e8b 100644
--- a/fs/jffs2/acl.c
+++ b/fs/jffs2/acl.c
@@ -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;
More information about the linux-mtd
mailing list