Fix leaks in purple markup

Review Request #2379 — Created March 22, 2023 and submitted — Latest diff uploaded

Information

pidgin/pidgin
default

Reviewers

Fix leaks when running the markup tests. These are all from leaking tags:

24 bytes in 1 blocks are definitely lost in loss record 101 of 251
   at 0x4848464: calloc (vg_replace_malloc.c:1340)
   by 0x49F75F0: g_malloc0 (gmem.c:163)
   by 0x48E563C: purple_markup_html_to_xhtml (purplemarkup.c:437)
   by 0x401214: test_purple_markup_html_to_xhtml (test_markup.c:213)
   by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
   by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
   by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
   by 0x4A156EC: g_test_run (gtestutils.c:2221)
   by 0x401575: main (test_markup.c:281)

24 bytes in 1 blocks are definitely lost in loss record 102 of 251
   at 0x4848464: calloc (vg_replace_malloc.c:1340)
   by 0x49F75F0: g_malloc0 (gmem.c:163)
   by 0x48E0319: purple_markup_html_to_xhtml (purplemarkup.c:260)
   by 0x401214: test_purple_markup_html_to_xhtml (test_markup.c:213)
   by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
   by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
   by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
   by 0x4A156EC: g_test_run (gtestutils.c:2221)
   by 0x401575: main (test_markup.c:281)

24 bytes in 1 blocks are definitely lost in loss record 103 of 251
   at 0x4848464: calloc (vg_replace_malloc.c:1340)
   by 0x49F75F0: g_malloc0 (gmem.c:163)
   by 0x48E07B7: purple_markup_html_to_xhtml (purplemarkup.c:261)
   by 0x401214: test_purple_markup_html_to_xhtml (test_markup.c:213)
   by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
   by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
   by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
   by 0x4A156EC: g_test_run (gtestutils.c:2221)
   by 0x401575: main (test_markup.c:281)

24 bytes in 1 blocks are definitely lost in loss record 104 of 251
   at 0x4848464: calloc (vg_replace_malloc.c:1340)
   by 0x49F75F0: g_malloc0 (gmem.c:163)
   by 0x48E0C55: purple_markup_html_to_xhtml (purplemarkup.c:262)
   by 0x401214: test_purple_markup_html_to_xhtml (test_markup.c:213)
   by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
   by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
   by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
   by 0x4A156EC: g_test_run (gtestutils.c:2221)
   by 0x401575: main (test_markup.c:281)

24 bytes in 1 blocks are definitely lost in loss record 105 of 251
   at 0x4848464: calloc (vg_replace_malloc.c:1340)
   by 0x49F75F0: g_malloc0 (gmem.c:163)
   by 0x48E10F3: purple_markup_html_to_xhtml (purplemarkup.c:263)
   by 0x401214: test_purple_markup_html_to_xhtml (test_markup.c:213)
   by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
   by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)
   by 0x4A156EC: UnknownInlinedFun (gtestutils.c:2234)
   by 0x4A156EC: g_test_run (gtestutils.c:2221)
   by 0x401575: main (test_markup.c:281)

and these from not freeing the result from purple_unescape_html:

256 bytes in 2 blocks are definitely lost in loss record 241 of 251
   at 0x484378A: malloc (vg_replace_malloc.c:392)
   by 0x484870B: realloc (vg_replace_malloc.c:1451)
   by 0x49F771F: g_realloc (gmem.c:201)
   by 0x4A11343: g_string_maybe_expand (gstring.c:92)
   by 0x4A113BF: g_string_sized_new (gstring.c:116)
   by 0x48E7F74: purple_unescape_html (purplemarkup.c:1101)
   by 0x48DEBBA: purple_markup_html_to_xhtml (purplemarkup.c:224)
   by 0x401214: test_purple_markup_html_to_xhtml (test_markup.c:213)
   by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
   by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)

256 bytes in 2 blocks are definitely lost in loss record 242 of 251
   at 0x484378A: malloc (vg_replace_malloc.c:392)
   by 0x484870B: realloc (vg_replace_malloc.c:1451)
   by 0x49F771F: g_realloc (gmem.c:201)
   by 0x4A11343: g_string_maybe_expand (gstring.c:92)
   by 0x4A113BF: g_string_sized_new (gstring.c:116)
   by 0x48E7F74: purple_unescape_html (purplemarkup.c:1101)
   by 0x48E534D: purple_markup_html_to_xhtml (purplemarkup.c:397)
   by 0x401214: test_purple_markup_html_to_xhtml (test_markup.c:213)
   by 0x4A1CC7D: UnknownInlinedFun (gtestutils.c:2933)
   by 0x4A1CC7D: g_test_run_suite_internal (gtestutils.c:3021)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1C9E4: g_test_run_suite_internal (gtestutils.c:3038)
   by 0x4A1D181: g_test_run_suite (gtestutils.c:3115)

Also modified the test to check not passing the optional arguments.

Compiled and ran tests in valgrind and leaks were gone.

Commits

Files

    Loading...