Fri, 17 Feb 2023 04:54:01 -0600
fix memory leaks in jabber tests
Testing Done:
Ran the jabber unit tests in valgrind and saw no definite leaks anymore.
Reviewed at https://reviews.imfreedom.org/r/2239/
--- a/libpurple/protocols/jabber/caps.c Thu Feb 16 08:21:31 2023 -0600 +++ b/libpurple/protocols/jabber/caps.c Fri Feb 17 04:54:01 2023 -0600 @@ -57,7 +57,7 @@ purple_strequal(name1->hash, name2->hash); } -static void +void jabber_caps_client_info_destroy(JabberCapsClientInfo *info) { if (info == NULL)
--- a/libpurple/protocols/jabber/caps.h Thu Feb 16 08:21:31 2023 -0600 +++ b/libpurple/protocols/jabber/caps.h Fri Feb 17 04:54:01 2023 -0600 @@ -97,4 +97,14 @@ */ JabberCapsClientInfo *jabber_caps_parse_client_info(PurpleXmlNode *query); +/** + * Release memory of a JabberCapsClientInfo struct + * returned by jabber_caps_parse_client_info. + * + * Exposed for tests + * + * @param info The info object to free. + */ +void jabber_caps_client_info_destroy(JabberCapsClientInfo *info); + #endif /* PURPLE_JABBER_CAPS_H */
--- a/libpurple/protocols/jabber/tests/test_jabber_caps.c Thu Feb 16 08:21:31 2023 -0600 +++ b/libpurple/protocols/jabber/tests/test_jabber_caps.c Fri Feb 17 04:54:01 2023 -0600 @@ -33,6 +33,8 @@ g_assert_cmpstr(expected, ==, got); g_free(got); + jabber_caps_client_info_destroy(info); + purple_xmlnode_free(query); } static void
--- a/libpurple/protocols/jabber/tests/test_jabber_jutil.c Thu Feb 16 08:21:31 2023 -0600 +++ b/libpurple/protocols/jabber/tests/test_jabber_jutil.c Fri Feb 17 04:54:01 2023 -0600 @@ -14,7 +14,11 @@ static void test_jabber_util_get_resource_exists(const PurpleTestStringData *data) { - g_assert_cmpstr(data->output, ==, jabber_get_resource(data->input)); + char *resource; + + resource = jabber_get_resource(data->input); + g_assert_cmpstr(data->output, ==, resource); + g_free(resource); } PurpleTestStringData test_jabber_util_get_resource_none_data[] = { @@ -38,7 +42,11 @@ static void test_jabber_util_get_bare_jid(const PurpleTestStringData *data) { - g_assert_cmpstr(data->output, ==, jabber_get_bare_jid(data->input)); + char *bare_jid; + + bare_jid = jabber_get_bare_jid(data->input); + g_assert_cmpstr(data->output, ==, bare_jid); + g_free(bare_jid); } static void
--- a/libpurple/protocols/jabber/tests/test_jabber_scram.c Thu Feb 16 08:21:31 2023 -0600 +++ b/libpurple/protocols/jabber/tests/test_jabber_scram.c Fri Feb 17 04:54:01 2023 -0600 @@ -15,6 +15,7 @@ g_assert_cmpmem(result, 20, expected, 20); \ g_string_free(s, TRUE); \ g_string_free(p, TRUE); \ + g_free(result); \ } static void