summaryrefslogtreecommitdiff
path: root/src/libgit2/tag.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libgit2/tag.c')
-rw-r--r--src/libgit2/tag.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/libgit2/tag.c b/src/libgit2/tag.c
index 41689e4c2..5e8bbf373 100644
--- a/src/libgit2/tag.c
+++ b/src/libgit2/tag.c
@@ -404,8 +404,10 @@ int git_tag_create_from_buffer(git_oid *oid, git_repository *repo, const char *b
/* write the buffer */
if ((error = git_odb_open_wstream(
- &stream, odb, strlen(buffer), GIT_OBJECT_TAG)) < 0)
+ &stream, odb, strlen(buffer), GIT_OBJECT_TAG)) < 0) {
+ git_str_dispose(&ref_name);
return error;
+ }
if (!(error = git_odb_stream_write(stream, buffer, strlen(buffer))))
error = git_odb_stream_finalize_write(oid, stream);