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()
This commit is contained in:
Junio C Hamano 2017-07-31 13:51:04 -07:00
Родитель 2187e112d7 2d105451c0
Коммит bc2c50fc2c
1 изменённых файлов: 2 добавлений и 4 удалений

Просмотреть файл

@ -972,13 +972,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") :
@ -986,8 +985,7 @@ static int gitdiff_verify_name(struct apply_state *state,
} }
free(another); free(another);
} else { } else {
/* expect "/dev/null" */ if (!starts_with(line, "/dev/null\n"))
if (memcmp("/dev/null", line, 9) || line[9] != '\n')
return error(_("git apply: bad git-diff - expected /dev/null on line %d"), state->linenr); return error(_("git apply: bad git-diff - expected /dev/null on line %d"), state->linenr);
} }