fix memory leaks in gplugin_file_source
Review Request #2255 — Created Feb. 20, 2023 and submitted — Latest diff uploaded
fix memory leaks in gplugin_file_source
leaks encountered:
libpurple test_contact_info and test_person
==5998== 16 bytes in 1 blocks are definitely lost in loss record 1,996 of 6,277 ==5998== at 0x48417E4: malloc (vg_replace_malloc.c:393) ==5998== by 0x4A6FA18: g_malloc (in /usr/lib64/libglib-2.0.so.0.7400.4) ==5998== by 0x4A88540: g_slice_alloc (in /usr/lib64/libglib-2.0.so.0.7400.4) ==5998== by 0x4A89675: g_slist_prepend (in /usr/lib64/libglib-2.0.so.0.7400.4) ==5998== by 0x4F0DA9E: gplugin_file_source_add_loader (gplugin-file-source.c:112) ==5998== by 0x4F0DCF1: gplugin_file_source_update_loaders (gplugin-file-source.c:179) ==5998== by 0x4F0E971: gplugin_file_source_constructed (gplugin-file-source.c:524) ==5998== by 0x49CF002: ??? (in /usr/lib64/libgobject-2.0.so.0.7400.4) ==5998== by 0x49D0C33: g_object_new_valist (in /usr/lib64/libgobject-2.0.so.0.7400.4) ==5998== by 0x49D1250: g_object_new (in /usr/lib64/libgobject-2.0.so.0.7400.4) ==5998== by 0x4F0EC51: gplugin_file_source_new (gplugin-file-source.c:607) ==5998== by 0x4F08019: gplugin_manager_refresh (gplugin-manager.c:874)
gplugin tests
==23357== 456 (16 direct, 440 indirect) bytes in 1 blocks are definitely lost in loss record 535 of 557 ==23357== at 0x48417E4: malloc (vg_replace_malloc.c:393) ==23357== by 0x48E4828: g_malloc (in /usr/lib64/libglib-2.0.so.0.7400.5) ==23357== by 0x48FD281: g_slice_alloc (in /usr/lib64/libglib-2.0.so.0.7400.5) ==23357== by 0x48FE6A8: g_slist_copy_deep (in /usr/lib64/libglib-2.0.so.0.7400.5) ==23357== by 0x485B252: gplugin_manager_find_plugins (gplugin-manager.c:934) ==23357== by 0x4861216: gplugin_file_source_scan (gplugin-file-source.c:349) ==23357== by 0x48622A9: gplugin_source_scan (gplugin-source.c:66) ==23357== by 0x485B041: gplugin_manager_refresh (gplugin-manager.c:881) ==23357== by 0x109464: test_gplugin_init_uninit_with_double_refresh_plugins (test-core.c:115) ==23357== by 0x49079DD: ??? (in /usr/lib64/libglib-2.0.so.0.7400.5) ==23357== by 0x490774C: ??? (in /usr/lib64/libglib-2.0.so.0.7400.5) ==23357== by 0x4907EE1: g_test_run_suite (in /usr/lib64/libglib-2.0.so.0.7400.5)
Ran all gplugin tests and test_contact_info and test_person from libpurple in valgrind without encountering above leaks or any invalid reads/writes.