@@ -1406,7 +1406,7 @@ static void make_cover_letter(struct rev_info *rev, int use_separate_file,
1406
1406
}
1407
1407
}
1408
1408
1409
- static const char * clean_message_id (const char * msg_id )
1409
+ static char * clean_message_id (const char * msg_id )
1410
1410
{
1411
1411
char ch ;
1412
1412
const char * a , * z , * m ;
@@ -1424,7 +1424,7 @@ static const char *clean_message_id(const char *msg_id)
1424
1424
if (!z )
1425
1425
die (_ ("insane in-reply-to: %s" ), msg_id );
1426
1426
if (++ z == m )
1427
- return a ;
1427
+ return xstrdup ( a ) ;
1428
1428
return xmemdupz (a , z - a );
1429
1429
}
1430
1430
@@ -2310,11 +2310,11 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
2310
2310
2311
2311
if (in_reply_to || thread || cover_letter ) {
2312
2312
rev .ref_message_ids = xmalloc (sizeof (* rev .ref_message_ids ));
2313
- string_list_init_nodup (rev .ref_message_ids );
2313
+ string_list_init_dup (rev .ref_message_ids );
2314
2314
}
2315
2315
if (in_reply_to ) {
2316
- const char * msgid = clean_message_id (in_reply_to );
2317
- string_list_append (rev .ref_message_ids , msgid );
2316
+ char * msgid = clean_message_id (in_reply_to );
2317
+ string_list_append_nodup (rev .ref_message_ids , msgid );
2318
2318
}
2319
2319
rev .numbered_files = just_numbers ;
2320
2320
rev .patch_suffix = fmt_patch_suffix ;
@@ -2370,8 +2370,8 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
2370
2370
&& (!cover_letter || rev .nr > 1 ))
2371
2371
free (rev .message_id );
2372
2372
else
2373
- string_list_append (rev .ref_message_ids ,
2374
- rev .message_id );
2373
+ string_list_append_nodup (rev .ref_message_ids ,
2374
+ rev .message_id );
2375
2375
}
2376
2376
gen_message_id (& rev , oid_to_hex (& commit -> object .oid ));
2377
2377
}
@@ -2420,6 +2420,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
2420
2420
strbuf_release (& rdiff_title );
2421
2421
strbuf_release (& sprefix );
2422
2422
free (to_free );
2423
+ free (rev .message_id );
2423
2424
if (rev .ref_message_ids )
2424
2425
string_list_clear (rev .ref_message_ids , 0 );
2425
2426
free (rev .ref_message_ids );
0 commit comments