Patchwork [15/15] jffs2_acl_count() tests < 0 on unsigned

login
register
mail settings
Submitter Andrew Morton
Date March 4, 2009, 8:01 p.m.
Message ID <200903042001.n24K1f2p028801@imap1.linux-foundation.org>
Download mbox | patch
Permalink /patch/24059/
State New, archived
Headers show

Comments

Andrew Morton - March 4, 2009, 8:01 p.m.
From: Roel Kluin <roel.kluin@gmail.com>

size_t s is unsigned and cannot be less than 0.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 fs/jffs2/acl.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Patch

diff -puN fs/jffs2/acl.c~jffs2_acl_count-tests-0-on-unsigned fs/jffs2/acl.c
--- a/fs/jffs2/acl.c~jffs2_acl_count-tests-0-on-unsigned
+++ a/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;