Fix leaks in purple markup

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

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.

Summary ID
Fix leaks in purple markup
18c5298a41d4256385b9f37f3e20f5c3623136c5
grim
  1. Ship It!
  2. Awesome work, thanks!!

  3. 
      
grim
Review request changed
Status:
Completed