commit - fb79db15f5778760633c3283c43e4c9f1efc35d2
commit + bd376bb34a8202c56697e2564e95408b1fb3f6d9
blob - 5730c82cd8e62233a17645c4661dc164d7a446d8
blob + c93b831f75483c293e5e6be6f29d4db179061cb7
--- lib/reference.c
+++ lib/reference.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 {