зеркало из https://github.com/microsoft/git.git
read_and_strip_branch: fix typo'd address-of operator
When we are chomping newlines from the end of a strbuf, we must check "sb.len != 0" before accessing "sb.buf[sb.len - 1]". However, this code mistakenly checks "&sb.len", which is always true (it is a part of an auto struct, so the address is always non-zero). This could lead to us accessing memory outside the strbuf when we read an empty file. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
8b87cfd000
Коммит
66ec904b4e
|
@ -975,7 +975,7 @@ static char *read_and_strip_branch(const char *path)
|
|||
if (strbuf_read_file(&sb, git_path("%s", path), 0) <= 0)
|
||||
goto got_nothing;
|
||||
|
||||
while (&sb.len && sb.buf[sb.len - 1] == '\n')
|
||||
while (sb.len && sb.buf[sb.len - 1] == '\n')
|
||||
strbuf_setlen(&sb, sb.len - 1);
|
||||
if (!sb.len)
|
||||
goto got_nothing;
|
||||
|
|
Загрузка…
Ссылка в новой задаче