summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2017-07-31 13:51:04 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-07-31 13:51:04 -0700
commitbc2c50fc2c6ed72140ade798fc4d5c9ddf2d50c4 (patch)
tree1eb9194d73a752b9645c9cd3ec4a727f81ba72da
parentfixes from 'master' for 2.13.4 (diff)
parentapply: use strcmp(3) for comparing strings in gitdiff_verify_name() (diff)
downloadtgif-bc2c50fc2c6ed72140ade798fc4d5c9ddf2d50c4.tar.xz
Merge branch 'rs/apply-avoid-over-reading' into maint
Code cleanup. * rs/apply-avoid-over-reading: apply: use strcmp(3) for comparing strings in gitdiff_verify_name() apply: use starts_with() in gitdiff_verify_name()
-rw-r--r--apply.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/apply.c b/apply.c
index 7a9f4c8e0b..f8bf0bd932 100644
--- a/apply.c
+++ b/apply.c
@@ -972,13 +972,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") :
@@ -986,8 +985,7 @@ static int gitdiff_verify_name(struct apply_state *state,
}
free(another);
} else {
- /* expect "/dev/null" */
- if (memcmp("/dev/null", line, 9) || line[9] != '\n')
+ if (!starts_with(line, "/dev/null\n"))
return error(_("git apply: bad git-diff - expected /dev/null on line %d"), state->linenr);
}