summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar René Scharfe <l.s.r@web.de>2017-07-01 11:10:07 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-07-01 10:39:51 -0700
commit8bc172e5f29894d440aab772ae3a49eb2eaf5585 (patch)
tree38554c663e66eccbe33f54a4938a2f26b27dfdb7
parentapply: move libified code from builtin/apply.c to apply.{c,h} (diff)
downloadtgif-8bc172e5f29894d440aab772ae3a49eb2eaf5585.tar.xz
apply: use starts_with() in gitdiff_verify_name()
Avoid running over the end of line -- a C string whose length is not known to this function -- by using starts_with() instead of memcmp(3) for checking if it starts with "/dev/null". Also simply include the newline in the string constant to compare against. Drop a comment that just states the obvious. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--apply.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/apply.c b/apply.c
index 5e3780d281..4024e70c54 100644
--- a/apply.c
+++ b/apply.c
@@ -970,8 +970,7 @@ static int gitdiff_verify_name(struct apply_state *state,
}
free(another);
} else {
- /* expect "/dev/null" */
- if (memcmp("/dev/null", line, 9) || line[9] != '\n')
+ if (!starts_with(line, "/dev/null\n"))
return error(_("git apply: bad git-diff - expected /dev/null on line %d"), state->linenr);
}