summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Kramlich <grim@reaperworld.com>2021-06-01 20:13:53 -0500
committerGary Kramlich <grim@reaperworld.com>2021-06-01 20:13:53 -0500
commitcb5df15f1a8d9df97f35ab138811b73a41493ab7 (patch)
treea0a1b231bdb52ced242498e9fe6aa023bb70328f
parent1824404b5984850fcf40849c6e0f5b62715582dc (diff)
downloadpidgin-cb5df15f1a8d9df97f35ab138811b73a41493ab7.tar.gz
Fix a use after free scanbuild found in buddyicon.c
Testing Done: Verified scanbuild no longer detected the error. Reviewed at https://reviews.imfreedom.org/r/698/
-rw-r--r--libpurple/buddyicon.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libpurple/buddyicon.c b/libpurple/buddyicon.c
index 14e03c09b9..e243ab08e6 100644
--- a/libpurple/buddyicon.c
+++ b/libpurple/buddyicon.c
@@ -1045,18 +1045,19 @@ migrate_buddy_icon(PurpleBlistNode *node, const char *setting_name,
return;
}
- g_free(path);
-
new_filename = purple_util_get_image_filename(icon_data, icon_len);
if (new_filename == NULL)
{
purple_debug_error("buddyicon",
"New icon filename is NULL. This should never happen! "
"The old filename was: %s\n", path);
+ g_free(path);
delete_buddy_icon_settings(node, setting_name);
+
g_return_if_reached();
}
+ g_free(path);
path = g_build_filename(dirname, new_filename, NULL);
if ((file = g_fopen(path, "wb")) != NULL)
{