gout

A static git page generator
git clone https://git.bracken.jp/gout.git
Log | Files | Refs | README | LICENSE

commit 06d46261f744f05d63b66e196c82df21c241a400
parent 3b21517176e95c8b36f4329819005f7bcd897af0
Author: Chris Bracken <chris@bracken.jp>
Date:   Tue, 17 Feb 2026 18:10:53 +0900

delta: make GitHunkLine.content an owned copy

Diffstat:
Msrc/git/delta.c | 9+++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/git/delta.c b/src/git/delta.c @@ -13,7 +13,7 @@ struct GitHunkLine { size_t id; int old_lineno; int new_lineno; - const char* content; + char* content; size_t content_len; }; @@ -46,12 +46,17 @@ GitHunkLine* githunkline_create(git_patch* patch, line_out->id = line_id; line_out->old_lineno = line->old_lineno; line_out->new_lineno = line->new_lineno; - line_out->content = line->content; line_out->content_len = line->content_len; + line_out->content = ecalloc(line->content_len + 1, sizeof(char)); + memcpy(line_out->content, line->content, line->content_len); return line_out; } void githunkline_free(GitHunkLine* hunk_line) { + if (!hunk_line) { + return; + } + free(hunk_line->content); free(hunk_line); }