apply: use starts_with() in gitdiff_verify_name()
Avoid running over the end of line -- a C string whose length is not known to this function -- by using starts_with() instead of memcmp(3) for checking if it starts with "/dev/null". Also simply include the newline in the string constant to compare against. Drop a comment that just states the obvious. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe committed
Jul 1, 2017 at 11:10 UTC
8bc172e5f29894d440aab772ae3a49eb2eaf5585
1 file changed
+1
-2
apply.c
+1
-2
@@ -970,8 +970,7 @@ static int gitdiff_verify_name(struct apply_state *state,
970
}
971
free(another);
972
} else {
973
- /* expect "/dev/null" */
974
- if (memcmp("/dev/null", line, 9) || line[9] != '\n')
973
+ if (!starts_with(line, "/dev/null\n"))
974
return error(_("git apply: bad git-diff - expected /dev/null on line %d"), state->linenr);
975
}
976