зеркало из https://github.com/microsoft/git.git
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:
Коммит
bc2c50fc2c
6
apply.c
6
apply.c
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче