builtin/am: fix memory leak in `split_mail_stgit_series`

In builtin/am.c:split_mail_stgit_series, if `fopen` failed,
`series_dir_buf` allocated by `xstrdup` will leak. Add `free` in
`!fp` if branch will prevent the leak.

Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Lidong Yan 2025-05-12 02:07:27 +00:00 committed by Junio C Hamano
parent 2f323bb162
commit e5dd0a05ed
1 changed files with 3 additions and 1 deletions

View File

@ -848,8 +848,10 @@ static int split_mail_stgit_series(struct am_state *state, const char **paths,
series_dir = dirname(series_dir_buf);

fp = fopen(*paths, "r");
if (!fp)
if (!fp) {
free(series_dir_buf);
return error_errno(_("could not open '%s' for reading"), *paths);
}

while (!strbuf_getline_lf(&sb, fp)) {
if (*sb.buf == '#')