mirror of
https://github.com/git/git.git
synced 2024-10-28 12:59:41 +01:00
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>
This commit is contained in:
parent
8bc172e5f2
commit
2d105451c0
1 changed files with 1 additions and 2 deletions
3
apply.c
3
apply.c
|
@ -956,13 +956,12 @@ static int gitdiff_verify_name(struct apply_state *state,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*name) {
|
if (*name) {
|
||||||
int len = strlen(*name);
|
|
||||||
char *another;
|
char *another;
|
||||||
if (isnull)
|
if (isnull)
|
||||||
return error(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"),
|
return error(_("git apply: bad git-diff - expected /dev/null, got %s on line %d"),
|
||||||
*name, state->linenr);
|
*name, state->linenr);
|
||||||
another = find_name(state, line, NULL, state->p_value, TERM_TAB);
|
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);
|
free(another);
|
||||||
return error((side == DIFF_NEW_NAME) ?
|
return error((side == DIFF_NEW_NAME) ?
|
||||||
_("git apply: bad git-diff - inconsistent new filename on line %d") :
|
_("git apply: bad git-diff - inconsistent new filename on line %d") :
|
||||||
|
|
Loading…
Reference in a new issue