talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit bb17a3e4c4b6c5c9b89c507553150ec5db0bb3de
parent 0630129bc9f4bb740867699fea56e795ae887e78
Author: Colin Leroy <colin@colino.net>
Date:   Mon, 24 May 2021 10:30:58 +0200

Fix use after free

Diffstat:
Msrc/summaryview.c | 16++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/summaryview.c b/src/summaryview.c @@ -4986,18 +4986,18 @@ void summary_save_as(SummaryView *summaryview) manage_window_focus_in(summaryview->window, NULL, NULL); if (filename && !g_utf8_validate(filename, -1, NULL)) { - gchar *oldstr = filename; - filename = conv_codeset_strdup(filename, + gchar *converted_filename = conv_codeset_strdup(filename, conv_get_locale_charset_str(), CS_UTF_8); - if (!filename) { + if (!converted_filename) { g_warning("summary_save_as(): failed to convert character set."); - filename = g_strdup(oldstr); + } else { + g_free(filename); + filename = converted_filename; } - dest = filename; - g_free(filename); - } else - dest = filename; + } + + dest = filename; filename = NULL; if (!dest) return; if (prefs_common.attach_save_dir && *prefs_common.attach_save_dir)