diff options
author | Junio C Hamano <junkio@cox.net> | 2005-12-15 18:52:51 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-12-15 18:52:51 -0800 |
commit | 06bf6ac4248e834a229027908d405f5e42ac96d7 (patch) | |
tree | a5783334c2818e24776b1087a97b500187a7e9a0 /refs.c | |
parent | ee34518d629331dadd58b1a75294369d679eda8b (diff) | |
download | git-06bf6ac4248e834a229027908d405f5e42ac96d7.tar.gz git-06bf6ac4248e834a229027908d405f5e42ac96d7.tar.xz |
refs.c: off-by-one fix.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'refs.c')
-rw-r--r-- | refs.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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; |