summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesper Juhl <jesper.juhl@gmail.com>2006-03-25 03:07:46 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-25 08:22:56 -0800
commitf1a136e0d098a4478236a1c24f9a57db5abf0755 (patch)
treed65627ea5c9b4124cc456048da0d3ab5fb2dd5dd
parent2ab13460852e65c2ec0e77000baba5e859a6a2cf (diff)
downloadlinux-f1a136e0d098a4478236a1c24f9a57db5abf0755.tar.bz2
[PATCH] kallsyms: handle malloc() failure
This fixes coverity bugs #398 and #397 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>
-rw-r--r--scripts/kallsyms.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index d591578bd3b2..22d281c6ec24 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -124,6 +124,11 @@ static int read_symbol(FILE *in, struct sym_entry *s)
* compressed together */
s->len = strlen(str) + 1;
s->sym = malloc(s->len + 1);
+ if (!s->sym) {
+ fprintf(stderr, "kallsyms failure: "
+ "unable to allocate required amount of memory\n");
+ exit(EXIT_FAILURE);
+ }
strcpy((char *)s->sym + 1, str);
s->sym[0] = stype;
@@ -272,7 +277,12 @@ static void write_src(void)
/* table of offset markers, that give the offset in the compressed stream
* every 256 symbols */
- markers = (unsigned int *) malloc(sizeof(unsigned int) * ((table_cnt + 255) / 256));
+ markers = malloc(sizeof(unsigned int) * ((table_cnt + 255) / 256));
+ if (!markers) {
+ fprintf(stderr, "kallsyms failure: "
+ "unable to allocate required memory\n");
+ exit(EXIT_FAILURE);
+ }
output_label("kallsyms_names");
off = 0;