From 812666c8e66a21e668c0789d0422aa5a7db54961 Mon Sep 17 00:00:00 2001 From: Christopher Li Date: Tue, 26 Apr 2005 12:00:58 -0700 Subject: [PATCH] introduce xmalloc and xrealloc Introduce xmalloc and xrealloc to die gracefully with a descriptive message when out of memory, rather than taking a SIGSEGV. Signed-off-by: Christopher Li Signed-off-by: Linus Torvalds --- tree.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'tree.c') diff --git a/tree.c b/tree.c index 26b7927080..15a16d5606 100644 --- a/tree.c +++ b/tree.c @@ -9,7 +9,7 @@ static int read_one_entry(unsigned char *sha1, const char *base, int baselen, co { int len = strlen(pathname); unsigned int size = cache_entry_size(baselen + len); - struct cache_entry *ce = malloc(size); + struct cache_entry *ce = xmalloc(size); memset(ce, 0, size); @@ -39,7 +39,7 @@ static int read_tree_recursive(void *buffer, unsigned long size, if (S_ISDIR(mode)) { int retval; int pathlen = strlen(path); - char *newbase = malloc(baselen + 1 + pathlen); + char *newbase = xmalloc(baselen + 1 + pathlen); void *eltbuf; char elttype[20]; unsigned long eltsize; @@ -74,7 +74,7 @@ struct tree *lookup_tree(unsigned char *sha1) { struct object *obj = lookup_object(sha1); if (!obj) { - struct tree *ret = malloc(sizeof(struct tree)); + struct tree *ret = xmalloc(sizeof(struct tree)); memset(ret, 0, sizeof(struct tree)); created_object(sha1, &ret->object); ret->object.type = tree_type; @@ -116,7 +116,7 @@ int parse_tree(struct tree *item) sscanf(bufptr, "%o", &mode) != 1) return -1; - entry = malloc(sizeof(struct tree_entry_list)); + entry = xmalloc(sizeof(struct tree_entry_list)); entry->name = strdup(path + 1); entry->directory = S_ISDIR(mode); entry->executable = mode & S_IXUSR; -- cgit v1.2.3