commit bd376bb34a8202c56697e2564e95408b1fb3f6d9 from: Stefan Sperling date: Fri Feb 01 20:13:57 2019 UTC handle absolute refs being passed to open_packed_ref() commit - fb79db15f5778760633c3283c43e4c9f1efc35d2 commit + bd376bb34a8202c56697e2564e95408b1fb3f6d9 blob - 5730c82cd8e62233a17645c4661dc164d7a446d8 blob + c93b831f75483c293e5e6be6f29d4db179061cb7 --- lib/reference.c +++ lib/reference.c @@ -202,7 +202,11 @@ open_packed_ref(struct got_reference **ref, FILE *f, c size_t len; const char delim[3] = {'\0', '\0', '\0'}; - if (asprintf(&abs_refname, "refs/%s/%s", subdir, refname) == -1) + if (strncmp(refname, "refs/", 5) == 0) { + abs_refname = strdup(refname); + if (abs_refname == NULL) + return got_error_from_errno(); + } else if (asprintf(&abs_refname, "refs/%s/%s", subdir, refname) == -1) return got_error_from_errno(); do {