summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2017-07-08 10:58:42 +0200
committerJunio C Hamano <gitster@pobox.com>2017-07-09 18:30:42 +0200
commit2d105451c0768fc3e9600dec7bca2376f482521e (patch)
tree0e2c16b5b521193e49acdde21f9c9cac25a1da7b
parentapply: use starts_with() in gitdiff_verify_name() (diff)
downloadgit-2d105451c0768fc3e9600dec7bca2376f482521e.tar.xz
git-2d105451c0768fc3e9600dec7bca2376f482521e.zip
apply: use strcmp(3) for comparing strings in gitdiff_verify_name()
We don't know the length of the C string "another". It could be shorter than "name", which we compare it to using memchr(3). Call strcmp(3) instead to avoid running over the end of the former, and get rid of a strlen(3) call as a bonus. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--apply.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/apply.c b/apply.c
index 4024e70c54..58ffe1b764 100644
--- a/apply.c
+++ b/apply.c
@@ -956,13 +956,12 @@ static int gitdiff_verify_name(struct apply_state *state,
}
if (*name) {
- int len = strlen(*name);
char *another;
if (isnull)
return error(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"),
*name, state->linenr);
another = find_name(state, line, NULL, state->p_value, TERM_TAB);
- if (!another || memcmp(another, *name, len + 1)) {
+ if (!another || strcmp(another, *name)) {
free(another);
return error((side == DIFF_NEW_NAME) ?
_("git apply: bad git-diff - inconsistent new filename on line %d") :