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>
This commit is contained in:
committed by
Junio C Hamano
parent
2f323bb162
commit
e5dd0a05ed
@@ -848,8 +848,10 @@ static int split_mail_stgit_series(struct am_state *state, const char **paths,
|
|||||||
series_dir = dirname(series_dir_buf);
|
series_dir = dirname(series_dir_buf);
|
||||||
|
|
||||||
fp = fopen(*paths, "r");
|
fp = fopen(*paths, "r");
|
||||||
if (!fp)
|
if (!fp) {
|
||||||
|
free(series_dir_buf);
|
||||||
return error_errno(_("could not open '%s' for reading"), *paths);
|
return error_errno(_("could not open '%s' for reading"), *paths);
|
||||||
|
}
|
||||||
|
|
||||||
while (!strbuf_getline_lf(&sb, fp)) {
|
while (!strbuf_getline_lf(&sb, fp)) {
|
||||||
if (*sb.buf == '#')
|
if (*sb.buf == '#')
|
||||||
|
|||||||
Reference in New Issue
Block a user