fix memory leaks in jabber tests

Fri, 17 Feb 2023 04:54:01 -0600

author
Markus Fischer <ivanhoe@fiscari.de>
date
Fri, 17 Feb 2023 04:54:01 -0600
changeset 42090
f72f1db0f42b
parent 42089
ced07483f66a
child 42091
594a2d0e1d52

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/

libpurple/protocols/jabber/caps.c file | annotate | diff | comparison | revisions
libpurple/protocols/jabber/caps.h file | annotate | diff | comparison | revisions
libpurple/protocols/jabber/tests/test_jabber_caps.c file | annotate | diff | comparison | revisions
libpurple/protocols/jabber/tests/test_jabber_jutil.c file | annotate | diff | comparison | revisions
libpurple/protocols/jabber/tests/test_jabber_scram.c file | annotate | diff | comparison | revisions
--- 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

mercurial