summaryrefslogtreecommitdiff
path: root/src/refs.c
diff options
context:
space:
mode:
authorEtienne Samson <samson.etienne@gmail.com>2018-04-10 21:16:43 +0000
committerEtienne Samson <samson.etienne@gmail.com>2018-04-10 23:45:00 +0200
commit5e19a7f9d502a6adb8cabe335020eba08d821c3e (patch)
tree9b7bd3a131a20acca56521df9540c21ffb7b13d9 /src/refs.c
parent0eca42304a10c9ad6170a38a440dfab8e354d38d (diff)
downloadlibgit2-5e19a7f9d502a6adb8cabe335020eba08d821c3e.tar.gz
refs: preserve the owning refdb when duping reference
This fixes a segfault in git_reference_owner on references returned from git_reference__read_head and git_reference_dup ones.
Diffstat (limited to 'src/refs.c')
-rw-r--r--src/refs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/refs.c b/src/refs.c
index 550963e56..c42968359 100644
--- a/src/refs.c
+++ b/src/refs.c
@@ -115,6 +115,9 @@ int git_reference_dup(git_reference **dest, git_reference *source)
GITERR_CHECK_ALLOC(*dest);
+ (*dest)->db = source->db;
+ GIT_REFCOUNT_INC((*dest)->db);
+
return 0;
}