libpurple/dnssrv.c

branch
release-2.x.y
changeset 40764
d687fda4047d
parent 38259
c593fc9f5438
child 40903
5c79001c7e86
--- a/libpurple/dnssrv.c	Thu Feb 11 23:57:10 2021 -0600
+++ b/libpurple/dnssrv.c	Fri Feb 12 04:07:08 2021 -0600
@@ -22,6 +22,7 @@
  */
 #define _PURPLE_DNSSRV_C_
 
+#include "glibcompat.h"
 #include "internal.h"
 #include "util.h"
 
@@ -539,16 +540,16 @@
 							purple_debug_error("dnssrv","unable to read txt "
 									"response length: %s\n", g_strerror(errno));
 							size = 0;
-							g_list_foreach(responses, (GFunc)purple_txt_response_destroy, NULL);
-							g_list_free(responses);
+							g_list_free_full(responses,
+							                 (GDestroyNotify)purple_txt_response_destroy);
 							responses = NULL;
 							break;
 						}
 						if (len > MAX_ADDR_RESPONSE_LEN) {
 							purple_debug_error("dnssrv", "we've read invalid number\n");
 							size = 0;
-							g_list_foreach(responses, (GFunc)purple_txt_response_destroy, NULL);
-							g_list_free(responses);
+							g_list_free_full(responses,
+							                 (GDestroyNotify)purple_txt_response_destroy);
 							responses = NULL;
 							break;
 						}
@@ -562,8 +563,8 @@
 									"response: %s\n", g_strerror(errno));
 							size = 0;
 							purple_txt_response_destroy(res);
-							g_list_foreach(responses, (GFunc)purple_txt_response_destroy, NULL);
-							g_list_free(responses);
+							g_list_free_full(responses,
+							                 (GDestroyNotify)purple_txt_response_destroy);
 							responses = NULL;
 							break;
 						}

mercurial