summaryrefslogtreecommitdiff
path: root/src/pack.c
diff options
context:
space:
mode:
authorRémi Duraffort <ivoire@videolan.org>2013-07-15 16:00:00 +0200
committerRémi Duraffort <ivoire@videolan.org>2013-07-15 16:29:13 +0200
commit050af8bbe08b7cab7bfce044dcb51fb61ff1dc41 (patch)
tree28afcf712b7f1b96b64def4cbc17b7ac04a11cbf /src/pack.c
parent8d6ef4bf78cc5d3a3cb277ecc4fcf0fdcdbc9f20 (diff)
downloadlibgit2-050af8bbe08b7cab7bfce044dcb51fb61ff1dc41.tar.gz
pack: fix memory leak in error path
Diffstat (limited to 'src/pack.c')
-rw-r--r--src/pack.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pack.c b/src/pack.c
index 7ce7099e0..497db38e8 100644
--- a/src/pack.c
+++ b/src/pack.c
@@ -329,8 +329,10 @@ static int pack_index_open(struct git_pack_file *p)
memcpy(idx_name, p->pack_name, base_len);
memcpy(idx_name + base_len, ".idx", sizeof(".idx"));
- if ((error = git_mutex_lock(&p->lock)) < 0)
+ if ((error = git_mutex_lock(&p->lock)) < 0) {
+ git__free(idx_name);
return error;
+ }
if (p->index_version == -1)
error = pack_index_check(idx_name, p);