--- a/libpurple/prefs.c Tue Feb 07 00:55:16 2023 -0600 +++ b/libpurple/prefs.c Tue Feb 07 00:55:49 2023 -0600 @@ -759,6 +759,7 @@ struct purple_pref *child = NULL, *next = NULL; char *name; GSList *l; + PurplePrefCallbackData *cb; if(!pref) return; @@ -793,7 +794,9 @@ while((l = pref->callbacks) != NULL) { pref->callbacks = pref->callbacks->next; - g_free(l->data); + cb = l->data; + g_free(cb->name); + g_free(cb); g_slist_free_1(l); } g_free(pref->name);