push: fix segfault for odd config
[gitweb.git] / sha1_name.c
index 3bd2ef0e7cde84d9d425f510bb2c2d52e8b19e16..2f75179f4c6c1d05bdd7594b23dcf77007c26751 100644 (file)
@@ -278,7 +278,8 @@ int dwim_ref(const char *str, int len, unsigned char *sha1, char **ref)
                                *ref = xstrdup(r);
                        if (!warn_ambiguous_refs)
                                break;
-               } else if (flag & REF_ISSYMREF)
+               } else if ((flag & REF_ISSYMREF) &&
+                          (len != 4 || strcmp(str, "HEAD")))
                        warning("ignoring dangling symref %s.", fullref);
        }
        free(last_branch);