aboutsummaryrefslogtreecommitdiff
path: root/usr
diff options
context:
space:
mode:
authorJesper Juhl <jesper.juhl@gmail.com>2006-04-18 22:21:54 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-04-19 09:13:52 -0700
commitaa1e816fc92215f94bdfd90107baae8fdc2440d1 (patch)
tree1d520ff39b65a7d3a5f68008eb44ea15c63e0d96 /usr
parent9dfb563b07b1aafcd7d40528ebfa7f9ce28f0556 (diff)
downloadlinux-2.6.38-lt-ux500-aa1e816fc92215f94bdfd90107baae8fdc2440d1.tar.gz
[PATCH] Fix potential NULL pointer deref in gen_init_cpio
Fix potential NULL pointer deref in gen_init_cpio.c spotted by coverity checker. This fixes coverity bug #86 Without this patch we risk dereferencing a NULL `type' in the "if ('\n' == *type) {" line. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'usr')
-rw-r--r--usr/gen_init_cpio.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr/gen_init_cpio.c b/usr/gen_init_cpio.c
index 33dbcbf77c5..83acd6cc0b3 100644
--- a/usr/gen_init_cpio.c
+++ b/usr/gen_init_cpio.c
@@ -471,6 +471,7 @@ int main (int argc, char *argv[])
"ERROR: incorrect format, could not locate file type line %d: '%s'\n",
line_nr, line);
ec = -1;
+ break;
}
if ('\n' == *type) {
@@ -506,7 +507,8 @@ int main (int argc, char *argv[])
line_nr, line);
}
}
- cpio_trailer();
+ if (ec == 0)
+ cpio_trailer();
exit(ec);
}