summaryrefslogtreecommitdiff
path: root/http-push.c
diff options
context:
space:
mode:
authorMike Hommey <mh@glandium.org>2007-12-14 22:18:01 +0100
committerJunio C Hamano <gitster@pobox.com>2007-12-14 21:31:59 -0800
commita096bb18af5b7214d9b87b64ae733d106eb96544 (patch)
treeabb43fcc181397e9db77ff0d5fece1b23366d705 /http-push.c
parent3b683b91cd78dec027105a2810079eb0b27ab2c0 (diff)
downloadgit-a096bb18af5b7214d9b87b64ae733d106eb96544.tar.gz
Fix random sha1 in error message in http-fetch and http-push
When a downloaded ref doesn't contain a sha1, the error message displays a random sha1 because of uninitialized memory. This happens when cloning a repository that is already a clone of another one, in which case refs/remotes/origin/HEAD is a symref. Signed-off-by: Mike Hommey <mh@glandium.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'http-push.c')
-rw-r--r--http-push.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/http-push.c b/http-push.c
index fc60bfd5f4..c96e43da16 100644
--- a/http-push.c
+++ b/http-push.c
@@ -1149,9 +1149,10 @@ int fetch_ref(char *ref, unsigned char *sha1)
return error("Unable to start request");
}
+ if (buffer.posn != 41)
+ return 1;
hex[40] = '\0';
- get_sha1_hex(hex, sha1);
- return 0;
+ return get_sha1_hex(hex, sha1);
}
static void one_remote_object(const char *hex)