commit ec29539cb426d1ae6a6c8e454f54a80769a45d9e
parent c34192d5e5ace50321cd3647a93d1e841e7a2816
Author: Chris Bracken <chris@bracken.jp>
Date: Tue, 17 Feb 2026 17:48:12 +0900
commit: make summary an owned copy
Diffstat:
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/git/commit.c b/src/git/commit.c
@@ -16,7 +16,7 @@
struct GitCommit {
char* oid;
char* parentoid;
- const char* summary;
+ char* summary;
const char* message;
time_t commit_time;
int commit_timezone_offset;
@@ -49,7 +49,8 @@ GitCommit* gitcommit_create(const git_oid* oid, git_repository* repo) {
git_commit_parent_id(commit->commit, 0));
// Set commit summary, message.
- commit->summary = git_commit_summary(commit->commit);
+ const char* summary = git_commit_summary(commit->commit);
+ commit->summary = summary ? estrdup(summary) : NULL;
commit->message = git_commit_message(commit->commit);
// Get commit time, tz offset.
@@ -138,6 +139,7 @@ void gitcommit_free(GitCommit* commit) {
}
free(commit->oid);
free(commit->parentoid);
+ free(commit->summary);
for (size_t i = 0; i < commit->deltas_len; i++) {
gitdelta_free(commit->deltas[i]);
commit->deltas[i] = NULL;