From 06bf6ac4248e834a229027908d405f5e42ac96d7 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 15 Dec 2005 18:52:51 -0800 Subject: [PATCH] refs.c: off-by-one fix. Signed-off-by: Junio C Hamano --- refs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/refs.c b/refs.c index b8fcb98da..69858e48c 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; -- 2.30.2