From: Junio C Hamano Date: Fri, 16 Dec 2005 02:52:51 +0000 (-0800) Subject: refs.c: off-by-one fix. X-Git-Tag: v1.0.0^2~31 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=06bf6ac4248e834a229027908d405f5e42ac96d7;p=git.git refs.c: off-by-one fix. Signed-off-by: Junio C Hamano --- diff --git a/refs.c b/refs.c index b8fcb98d..69858e48 100644 --- a/refs.c +++ b/refs.c @@ -346,8 +346,11 @@ int check_ref_format(const char *ref) if (level < 2) return -1; /* at least of form "heads/blah" */ - /* do not allow ref name to end in "HEAD" */ - if (cp - ref > 4 && !strcmp(cp - 4, "HEAD")) + /* Do not allow ref name to end in "HEAD" + * Note that cp is poiting at one past NUL at the end. + * i.e. cp[-1] = NUL. + */ + if (5 <= cp - ref && !strcmp(cp - 5, "HEAD")) return -1; return 0;