diff options
author | llyzs <llyzs.vic@gmail.com> | 2011-02-06 16:53:18 +0300 |
---|---|---|
committer | Vic Lee (llyzs) <llyzs@b6cfa94a-2857-405c-b0d6-536ef9fc39e1> | 2011-02-06 16:53:18 +0300 |
commit | 9423ccf5cd7955b0e53053ab6e2d7045e413cc6d (patch) | |
tree | 3821dfc6361de0a559c72f91b5bd90b71a464c8f /remmina-plugins | |
parent | 2b72284688ec9799ac865d932fddaa95f8197d0c (diff) |
Fix a memory issue
Diffstat (limited to 'remmina-plugins')
-rw-r--r-- | remmina-plugins/vnc/remminapluginvnc.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/remmina-plugins/vnc/remminapluginvnc.c b/remmina-plugins/vnc/remminapluginvnc.c index edf57b82d..9e4fd53db 100644 --- a/remmina-plugins/vnc/remminapluginvnc.c +++ b/remmina-plugins/vnc/remminapluginvnc.c @@ -848,7 +848,7 @@ remmina_plugin_vnc_rfb_credential (rfbClient *cl, int credentialType) RemminaPluginVncData *gpdata; RemminaFile *remminafile; gint ret; - const gchar *cs1, *cs2; + gchar *s1, *s2; gp = (RemminaProtocolWidget*) (rfbClientGetClientData (cl, NULL)); gpdata = (RemminaPluginVncData*) g_object_get_data (G_OBJECT (gp), "plugin-data"); @@ -862,17 +862,20 @@ remmina_plugin_vnc_rfb_credential (rfbClient *cl, int credentialType) case rfbCredentialTypeUser: - cs1 = remmina_plugin_service->file_get_string (remminafile, "username"); + s1 = g_strdup (remmina_plugin_service->file_get_string (remminafile, "username")); THREADS_ENTER - cs2 = remmina_plugin_service->file_get_secret (remminafile, "password"); + s2 = remmina_plugin_service->file_get_secret (remminafile, "password"); THREADS_LEAVE - if (gpdata->auth_first && cs1 && cs2) + if (gpdata->auth_first && s1 && s2) { - cred->userCredential.username = g_strdup (cs1); - cred->userCredential.password = g_strdup (cs2); + cred->userCredential.username = s1; + cred->userCredential.password = s2; } else { + g_free (s1); + g_free (s2); + THREADS_ENTER ret = remmina_plugin_service->protocol_plugin_init_authuserpwd (gp); THREADS_LEAVE |