From: Jeff King Date: Wed, 28 Jan 2015 17:57:35 +0000 (-0500) Subject: read_and_strip_branch: fix typo'd address-of operator X-Git-Tag: v2.3.1~8^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=66ec904b4e5779c2ffd68d3bb8071cc15b2287c7;p=thirdparty%2Fgit.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 Signed-off-by: Junio C Hamano --- diff --git a/wt-status.c b/wt-status.c index aa53436118..a30ca97fc8 100644 --- a/wt-status.c +++ b/wt-status.c @@ -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;