зеркало из https://github.com/microsoft/git.git
Use xmalloc() and friends to catch allocation failures
Some places use the standard malloc/strdup without checking if the allocation was successful; they should use xmalloc/xstrdup that check the memory allocation result. Signed-off-by: Dotan Barak <dotanba@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
4886b89f8f
Коммит
e8eec71d6e
|
@ -53,7 +53,7 @@ int cmd_http_fetch(int argc, const char **argv, const char *prefix)
|
|||
}
|
||||
url = argv[arg];
|
||||
if (url && url[strlen(url)-1] != '/') {
|
||||
rewritten_url = malloc(strlen(url)+2);
|
||||
rewritten_url = xmalloc(strlen(url)+2);
|
||||
strcpy(rewritten_url, url);
|
||||
strcat(rewritten_url, "/");
|
||||
url = rewritten_url;
|
||||
|
|
2
git.c
2
git.c
|
@ -364,7 +364,7 @@ static void handle_internal_command(int argc, const char **argv)
|
|||
if (sizeof(ext) > 1) {
|
||||
i = strlen(argv[0]) - strlen(ext);
|
||||
if (i > 0 && !strcmp(argv[0] + i, ext)) {
|
||||
char *argv0 = strdup(argv[0]);
|
||||
char *argv0 = xstrdup(argv[0]);
|
||||
argv[0] = cmd = argv0;
|
||||
argv0[i] = '\0';
|
||||
}
|
||||
|
|
|
@ -2237,7 +2237,7 @@ int main(int argc, char **argv)
|
|||
no_pragma_header = curl_slist_append(no_pragma_header, "Pragma:");
|
||||
|
||||
if (remote->url && remote->url[strlen(remote->url)-1] != '/') {
|
||||
rewritten_url = malloc(strlen(remote->url)+2);
|
||||
rewritten_url = xmalloc(strlen(remote->url)+2);
|
||||
strcpy(rewritten_url, remote->url);
|
||||
strcat(rewritten_url, "/");
|
||||
remote->url = rewritten_url;
|
||||
|
|
2
http.c
2
http.c
|
@ -402,7 +402,7 @@ static struct fill_chain *fill_cfg = NULL;
|
|||
|
||||
void add_fill_function(void *data, int (*fill)(void *))
|
||||
{
|
||||
struct fill_chain *new = malloc(sizeof(*new));
|
||||
struct fill_chain *new = xmalloc(sizeof(*new));
|
||||
struct fill_chain **linkp = &fill_cfg;
|
||||
new->data = data;
|
||||
new->fill = fill;
|
||||
|
|
4
remote.c
4
remote.c
|
@ -69,7 +69,7 @@ static const char *alias_url(const char *url)
|
|||
if (!longest)
|
||||
return url;
|
||||
|
||||
ret = malloc(rewrite[longest_i]->baselen +
|
||||
ret = xmalloc(rewrite[longest_i]->baselen +
|
||||
(strlen(url) - longest->len) + 1);
|
||||
strcpy(ret, rewrite[longest_i]->base);
|
||||
strcpy(ret + rewrite[longest_i]->baselen, url + longest->len);
|
||||
|
@ -152,7 +152,7 @@ static struct branch *make_branch(const char *name, int len)
|
|||
ret->name = xstrndup(name, len);
|
||||
else
|
||||
ret->name = xstrdup(name);
|
||||
refname = malloc(strlen(name) + strlen("refs/heads/") + 1);
|
||||
refname = xmalloc(strlen(name) + strlen("refs/heads/") + 1);
|
||||
strcpy(refname, "refs/heads/");
|
||||
strcpy(refname + strlen("refs/heads/"), ret->name);
|
||||
ret->refname = refname;
|
||||
|
|
Загрузка…
Ссылка в новой задаче