[libgit2-glib] Fix crash when signature is used after the commit is unreffed.
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgit2-glib] Fix crash when signature is used after the commit is unreffed.
- Date: Tue, 23 Feb 2016 09:51:04 +0000 (UTC)
commit 150990f2d5e7c4e01c7b695f56c022a50b27aa3f
Author: Jeongsu Kim <jeongsu bmp pe kr>
Date: Tue Feb 23 10:49:45 2016 +0100
Fix crash when signature is used after the commit is unreffed.
The signature might be kept after the commit is unreffed so we
need to duplicate it before wrapping it.
https://bugzilla.gnome.org/show_bug.cgi?id=762427
libgit2-glib/ggit-commit.c | 19 +++++++++++--------
1 files changed, 11 insertions(+), 8 deletions(-)
---
diff --git a/libgit2-glib/ggit-commit.c b/libgit2-glib/ggit-commit.c
index 5984ac9..a511423 100644
--- a/libgit2-glib/ggit-commit.c
+++ b/libgit2-glib/ggit-commit.c
@@ -224,16 +224,18 @@ GgitSignature *
ggit_commit_get_committer (GgitCommit *commit)
{
git_commit *c;
- const git_signature *signature;
+ const git_signature *committer;
+ git_signature *signature;
g_return_val_if_fail (GGIT_IS_COMMIT (commit), NULL);
c = _ggit_native_get (commit);
- signature = git_commit_committer (c);
+ committer = git_commit_committer (c);
+ git_signature_dup (&signature, committer);
- return _ggit_signature_wrap ((git_signature *)signature,
+ return _ggit_signature_wrap (signature,
ggit_commit_get_message_encoding (commit),
- FALSE);
+ TRUE);
}
/**
@@ -249,16 +251,17 @@ GgitSignature *
ggit_commit_get_author (GgitCommit *commit)
{
git_commit *c;
- const git_signature *signature;
+ const git_signature *author;
+ git_signature *signature;
g_return_val_if_fail (GGIT_IS_COMMIT (commit), NULL);
c = _ggit_native_get (commit);
- signature = git_commit_author (c);
+ author = git_commit_author (c);
- return _ggit_signature_wrap ((git_signature *)signature,
+ return _ggit_signature_wrap (signature,
ggit_commit_get_message_encoding (commit),
- FALSE);
+ TRUE);
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]