diff options
author | Brandon Casey <drafnel@gmail.com> | 2011-10-06 13:22:22 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-10-06 13:54:32 -0700 |
commit | 040a655116c9755bbf30acd22c34eecb2f502c6d (patch) | |
tree | 6e1260d25fa2de20f150159de83cae2251c70824 | |
parent | attr.c: avoid inappropriate access to strbuf "buf" member (diff) | |
download | tgif-040a655116c9755bbf30acd22c34eecb2f502c6d.tar.xz |
cleanup: use internal memory allocation wrapper functions everywhere
The "x"-prefixed versions of strdup, malloc, etc. will check whether the
allocation was successful and terminate the process otherwise.
A few uses of malloc were left alone since they already implemented a
graceful path of failure or were in a quasi external library like xdiff.
Additionally, the call to malloc in compat/win32/syslog.c was not modified
since the syslog() implemented there is a die handler and a call to the
x-wrappers within a die handler could result in recursion should memory
allocation fail. This will have to be addressed separately.
Signed-off-by: Brandon Casey <drafnel@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | attr.c | 2 | ||||
-rw-r--r-- | builtin/mv.c | 2 | ||||
-rw-r--r-- | compat/mingw.c | 2 | ||||
-rw-r--r-- | compat/qsort.c | 2 | ||||
-rw-r--r-- | remote.c | 2 | ||||
-rw-r--r-- | show-index.c | 2 | ||||
-rw-r--r-- | transport-helper.c | 4 |
7 files changed, 8 insertions, 8 deletions
@@ -533,7 +533,7 @@ static void bootstrap_attr_stack(void) if (!is_bare_repository() || direction == GIT_ATTR_INDEX) { elem = read_attr(GITATTRIBUTES_FILE, 1); - elem->origin = strdup(""); + elem->origin = xstrdup(""); elem->prev = attr_stack; attr_stack = elem; debug_push(elem); diff --git a/builtin/mv.c b/builtin/mv.c index 40f33ca4d0..e9d191f056 100644 --- a/builtin/mv.c +++ b/builtin/mv.c @@ -29,7 +29,7 @@ static const char **copy_pathspec(const char *prefix, const char **pathspec, to_copy--; if (to_copy != length || base_name) { char *it = xmemdupz(result[i], to_copy); - result[i] = base_name ? strdup(basename(it)) : it; + result[i] = base_name ? xstrdup(basename(it)) : it; } } return get_pathspec(prefix, result); diff --git a/compat/mingw.c b/compat/mingw.c index 6ef0cc4f99..8947418ce7 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -1183,7 +1183,7 @@ static int WSAAPI getaddrinfo_stub(const char *node, const char *service, } ai->ai_addrlen = sizeof(struct sockaddr_in); if (hints && (hints->ai_flags & AI_CANONNAME)) - ai->ai_canonname = h ? strdup(h->h_name) : NULL; + ai->ai_canonname = h ? xstrdup(h->h_name) : NULL; else ai->ai_canonname = NULL; diff --git a/compat/qsort.c b/compat/qsort.c index d93dce2cf8..9574d537bd 100644 --- a/compat/qsort.c +++ b/compat/qsort.c @@ -55,7 +55,7 @@ void git_qsort(void *b, size_t n, size_t s, msort_with_tmp(b, n, s, cmp, buf); } else { /* It's somewhat large, so malloc it. */ - char *tmp = malloc(size); + char *tmp = xmalloc(size); msort_with_tmp(b, n, s, cmp, tmp); free(tmp); } @@ -840,7 +840,7 @@ char *apply_refspecs(struct refspec *refspecs, int nr_refspec, refspec->dst, &ret)) return ret; } else if (!strcmp(refspec->src, name)) - return strdup(refspec->dst); + return xstrdup(refspec->dst); } return NULL; } diff --git a/show-index.c b/show-index.c index 4c0ac138af..63f9da5323 100644 --- a/show-index.c +++ b/show-index.c @@ -48,7 +48,7 @@ int main(int argc, char **argv) unsigned char sha1[20]; uint32_t crc; uint32_t off; - } *entries = malloc(nr * sizeof(entries[0])); + } *entries = xmalloc(nr * sizeof(entries[0])); for (i = 0; i < nr; i++) if (fread(entries[i].sha1, 20, 1, stdin) != 1) die("unable to read sha1 %u/%u", i, nr); diff --git a/transport-helper.c b/transport-helper.c index 4eab844d4a..07131261fe 100644 --- a/transport-helper.c +++ b/transport-helper.c @@ -183,7 +183,7 @@ static struct child_process *get_helper(struct transport *transport) ALLOC_GROW(refspecs, refspec_nr + 1, refspec_alloc); - refspecs[refspec_nr++] = strdup(capname + strlen("refspec ")); + refspecs[refspec_nr++] = xstrdup(capname + strlen("refspec ")); } else if (!strcmp(capname, "connect")) { data->connect = 1; } else if (!prefixcmp(capname, "export-marks ")) { @@ -445,7 +445,7 @@ static int fetch_with_import(struct transport *transport, if (data->refspecs) private = apply_refspecs(data->refspecs, data->refspec_nr, posn->name); else - private = strdup(posn->name); + private = xstrdup(posn->name); read_ref(private, posn->old_sha1); free(private); } |