diff options
author | Gary Kramlich <grim@reaperworld.com> | 2021-06-01 20:13:53 -0500 |
---|---|---|
committer | Gary Kramlich <grim@reaperworld.com> | 2021-06-01 20:13:53 -0500 |
commit | cb5df15f1a8d9df97f35ab138811b73a41493ab7 (patch) | |
tree | a0a1b231bdb52ced242498e9fe6aa023bb70328f | |
parent | 1824404b5984850fcf40849c6e0f5b62715582dc (diff) | |
download | pidgin-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.c | 5 |
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) { |