diff options
author | Michael Haggerty <mhagger@alum.mit.edu> | 2011-09-15 23:10:40 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-10-05 13:45:31 -0700 |
commit | 629cd3ac6d081b43c8cdb045845be1fedbc89615 (patch) | |
tree | 01b03b13fef9519b27eb1c77ac2f8534946ffd37 | |
parent | resolve_ref(): verify that the input refname has the right format (diff) | |
download | tgif-629cd3ac6d081b43c8cdb045845be1fedbc89615.tar.xz |
resolve_ref(): emit warnings for improperly-formatted references
While resolving references, if a reference is found that is in an
unrecognized format, emit a warning (and then fail, as before).
Wouldn't *you* want to know?
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | refs.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -500,6 +500,7 @@ const char *resolve_ref(const char *ref, unsigned char *sha1, int reading, int * ssize_t len; char buffer[256]; static char ref_buffer[256]; + char path[PATH_MAX]; if (flag) *flag = 0; @@ -508,7 +509,6 @@ const char *resolve_ref(const char *ref, unsigned char *sha1, int reading, int * return NULL; for (;;) { - char path[PATH_MAX]; struct stat st; char *buf; int fd; @@ -593,8 +593,10 @@ const char *resolve_ref(const char *ref, unsigned char *sha1, int reading, int * if (flag) *flag |= REF_ISSYMREF; } - if (get_sha1_hex(buffer, sha1)) + if (get_sha1_hex(buffer, sha1)) { + warning("reference in %s is formatted incorrectly", path); return NULL; + } return ref; } |