commit b7f749eb3782322e9de02f0dc6fbbc3866f4f1d2
parent 06d46261f744f05d63b66e196c82df21c241a400
Author: Chris Bracken <chris@bracken.jp>
Date: Tue, 17 Feb 2026 18:14:14 +0900
delta: make GitHunk.header an owned copy
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/git/delta.c b/src/git/delta.c
@@ -82,7 +82,7 @@ size_t githunkline_content_len(const GitHunkLine* line) {
struct GitHunk {
size_t id;
- const char* header;
+ char* header;
GitHunkLine** lines;
size_t lines_len;
};
@@ -96,7 +96,7 @@ GitHunk* githunk_create(git_patch* patch, size_t hunk_id) {
GitHunk* hunk_out = ecalloc(1, sizeof(GitHunk));
hunk_out->id = hunk_id;
- hunk_out->header = hunk->header;
+ hunk_out->header = estrdup(hunk->header);
hunk_out->lines = ecalloc(line_count, sizeof(GitHunkLine*));
size_t lines_out_count = 0;
for (size_t i = 0; i < line_count; i++) {
@@ -113,6 +113,7 @@ void githunk_free(GitHunk* hunk) {
if (!hunk) {
return;
}
+ free(hunk->header);
for (size_t i = 0; i < hunk->lines_len; i++) {
githunkline_free(hunk->lines[i]);
hunk->lines[i] = NULL;