Skip to content

Commit

Permalink
apply: use strcmp(3) for comparing strings in gitdiff_verify_name()
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
rscharfe authored and gitster committed Jul 9, 2017
1 parent 8bc172e commit 2d10545
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions apply.c
Original file line number Diff line number Diff line change
Expand Up @@ -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") :
Expand Down

0 comments on commit 2d10545

Please sign in to comment.