fixdep: use xmalloc()

When malloc() fails, there is not much userspace programs can do.
xmalloc() is useful to bail out on a memory allocation failure.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
This commit is contained in:
Masahiro Yamada 2024-08-12 21:48:53 +09:00
parent aeaa4283a3
commit a46078d651

View File

@ -99,6 +99,8 @@
#include <stdio.h> #include <stdio.h>
#include <ctype.h> #include <ctype.h>
#include <xalloc.h>
static void usage(void) static void usage(void)
{ {
fprintf(stderr, "Usage: fixdep <depfile> <target> <cmdline>\n"); fprintf(stderr, "Usage: fixdep <depfile> <target> <cmdline>\n");
@ -131,12 +133,9 @@ static unsigned int strhash(const char *str, unsigned int sz)
static void add_to_hashtable(const char *name, int len, unsigned int hash, static void add_to_hashtable(const char *name, int len, unsigned int hash,
struct item *hashtab[]) struct item *hashtab[])
{ {
struct item *aux = malloc(sizeof(*aux) + len); struct item *aux;
if (!aux) { aux = xmalloc(sizeof(*aux) + len);
perror("fixdep:malloc");
exit(1);
}
memcpy(aux->name, name, len); memcpy(aux->name, name, len);
aux->len = len; aux->len = len;
aux->hash = hash; aux->hash = hash;
@ -228,11 +227,7 @@ static void *read_file(const char *filename)
perror(filename); perror(filename);
exit(2); exit(2);
} }
buf = malloc(st.st_size + 1); buf = xmalloc(st.st_size + 1);
if (!buf) {
perror("fixdep: malloc");
exit(2);
}
if (read(fd, buf, st.st_size) != st.st_size) { if (read(fd, buf, st.st_size) != st.st_size) {
perror("fixdep: read"); perror("fixdep: read");
exit(2); exit(2);