Browse Source

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>
maint
Mike Hommey 18 years ago committed by Junio C Hamano
parent
commit
a096bb18af
  1. 5
      http-push.c
  2. 5
      http-walker.c

5
http-push.c

@ -1149,9 +1149,10 @@ int fetch_ref(char *ref, unsigned char *sha1) @@ -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)

5
http-walker.c

@ -986,9 +986,10 @@ static int fetch_ref(struct walker *walker, char *ref, unsigned char *sha1) @@ -986,9 +986,10 @@ static int fetch_ref(struct walker *walker, 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 cleanup(struct walker *walker)

Loading…
Cancel
Save