diff options
author | René Scharfe <l.s.r@web.de> | 2017-07-08 10:58:42 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-07-09 09:30:42 -0700 |
commit | 2d105451c0768fc3e9600dec7bca2376f482521e (patch) | |
tree | 0e2c16b5b521193e49acdde21f9c9cac25a1da7b /apply.c | |
parent | 8bc172e5f29894d440aab772ae3a49eb2eaf5585 (diff) | |
download | git-2d105451c0768fc3e9600dec7bca2376f482521e.tar.gz |
apply: use strcmp(3) for comparing strings in gitdiff_verify_name()rs/apply-avoid-over-reading
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>
Diffstat (limited to 'apply.c')
-rw-r--r-- | apply.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -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") : |