diff options
author | Christopher Li <git@chrisli.org> | 2005-04-26 12:00:58 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-26 12:00:58 -0700 |
commit | 812666c8e66a21e668c0789d0422aa5a7db54961 (patch) | |
tree | b98a096f4b3c70aac3110f905a1367c23b402cca /update-cache.c | |
parent | f2a19340ada1188e278d5b198d3466ed7411e2d4 (diff) | |
download | git-812666c8e66a21e668c0789d0422aa5a7db54961.tar.gz git-812666c8e66a21e668c0789d0422aa5a7db54961.tar.xz |
[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<chrislgit@chrisli.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'update-cache.c')
-rw-r--r-- | update-cache.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/update-cache.c b/update-cache.c index e759c647a..16e1bb9ae 100644 --- a/update-cache.c +++ b/update-cache.c @@ -36,8 +36,8 @@ static int index_fd(unsigned char *sha1, int fd, struct stat *st) z_stream stream; unsigned long size = st->st_size; int max_out_bytes = size + 200; - void *out = malloc(max_out_bytes); - void *metadata = malloc(200); + void *out = xmalloc(max_out_bytes); + void *metadata = xmalloc(200); int metadata_size; void *in; SHA_CTX c; @@ -123,7 +123,7 @@ static int add_file_to_cache(char *path) } namelen = strlen(path); size = cache_entry_size(namelen); - ce = malloc(size); + ce = xmalloc(size); memset(ce, 0, size); memcpy(ce->name, path, namelen); fill_stat_cache_info(ce, &st); @@ -206,7 +206,7 @@ static struct cache_entry *refresh_entry(struct cache_entry *ce) return ERR_PTR(-EINVAL); size = ce_size(ce); - updated = malloc(size); + updated = xmalloc(size); memcpy(updated, ce, size); fill_stat_cache_info(updated, &st); return updated; @@ -282,7 +282,7 @@ static int add_cacheinfo(char *arg1, char *arg2, char *arg3) len = strlen(arg3); size = cache_entry_size(len); - ce = malloc(size); + ce = xmalloc(size); memset(ce, 0, size); memcpy(ce->sha1, sha1, 20); |