builtin-branch: use strbuf in delete_branches()

In case the length of branch name is greather then PATH_MAX-7, we write
to unallocated memory otherwise.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Miklos Vajna 2008-11-17 21:48:35 +01:00 committed by Junio C Hamano
parent 47577456bf
commit 3c59c50d76

View file

@ -97,7 +97,6 @@ static int delete_branches(int argc, const char **argv, int force, int kinds)
unsigned char sha1[20];
char *name = NULL;
const char *fmt, *remote;
char section[PATH_MAX];
int i;
int ret = 0;
@ -165,11 +164,12 @@ static int delete_branches(int argc, const char **argv, int force, int kinds)
argv[i]);
ret = 1;
} else {
struct strbuf buf = STRBUF_INIT;
printf("Deleted %sbranch %s.\n", remote, argv[i]);
snprintf(section, sizeof(section), "branch.%s",
argv[i]);
if (git_config_rename_section(section, NULL) < 0)
strbuf_addf(&buf, "branch.%s", argv[i]);
if (git_config_rename_section(buf.buf, NULL) < 0)
warning("Update of config-file failed");
strbuf_release(&buf);
}
}