talons

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

commit a87829727ca5baade7b7f28999a1a35cc6d4e9c0
parent f629eb09a122d844fa6be5d1cfa0ec488d9ac9a5
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Thu,  6 Sep 2018 23:31:16 +0200

Fix dangling pointer in proxy password handling.

Initialize proxy_info.proxy_pass to NULL, and reset it
back to NULL after use.

Diffstat:
Msrc/common/proxy.c | 1+
Msrc/prefs_account.c | 2+-
Msrc/prefs_common.c | 2+-
3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/common/proxy.c b/src/common/proxy.c @@ -61,6 +61,7 @@ gint proxy_connect(SockInfo *sock, const gchar *hostname, gushort port, if (proxy_info->proxy_pass != NULL) { memset(proxy_info->proxy_pass, 0, strlen(proxy_info->proxy_pass)); g_free(proxy_info->proxy_pass); + proxy_info->proxy_pass = NULL; } return ret; } else if (proxy_info->proxy_type == PROXY_SOCKS4) { diff --git a/src/prefs_account.c b/src/prefs_account.c @@ -874,7 +874,7 @@ static PrefParam proxy_param[] = { &proxy_page.proxy_name_entry, prefs_set_data_from_entry, prefs_set_entry}, - {"proxy_pass", "", &tmp_ac_prefs.proxy_info.proxy_pass, P_PASSWORD, + {"proxy_pass", NULL, &tmp_ac_prefs.proxy_info.proxy_pass, P_PASSWORD, NULL, NULL, NULL}, diff --git a/src/prefs_common.c b/src/prefs_common.c @@ -1262,7 +1262,7 @@ static PrefParam param[] = { {"proxy_port", "1080", &prefs_common.proxy_info.proxy_port, P_USHORT, NULL, NULL, NULL}, {"use_proxy_auth", "FALSE", &prefs_common.proxy_info.use_proxy_auth, P_BOOL, NULL, NULL, NULL}, {"proxy_name", "", &prefs_common.proxy_info.proxy_name, P_STRING, NULL, NULL, NULL}, - {"proxy_pass", "", &prefs_common.proxy_info.proxy_pass, P_STRING, NULL, NULL, NULL}, + {"proxy_pass", NULL, &prefs_common.proxy_info.proxy_pass, P_STRING, NULL, NULL, NULL}, {NULL, NULL, NULL, P_OTHER, NULL, NULL, NULL} };