TLS: Fix an allocator mismatch.
secrets_rsa_decrypt returns GLib-allocated memory. Free it using g_free. Change-Id: Icf0a3a1fc53c112511f9e7024714b6596569e737 Reviewed-on: https://code.wireshark.org/review/31665 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
This commit is contained in:
parent
dcaa429a34
commit
6fc342234c
|
@ -3638,13 +3638,21 @@ ssl_decrypt_pre_master_secret(SslDecryptSession *ssl_session,
|
|||
if (pms.size != 48) {
|
||||
ssl_debug_printf("%s wrong pre_master_secret length (%d, expected %d)\n",
|
||||
G_STRFUNC, pms.size, 48);
|
||||
gnutls_free(pms.data);
|
||||
if (pk) {
|
||||
gnutls_free(pms.data);
|
||||
} else {
|
||||
g_free(pms.data);
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ssl_session->pre_master_secret.data = (guint8 *)wmem_memdup(wmem_file_scope(), pms.data, 48);
|
||||
ssl_session->pre_master_secret.data_len = 48;
|
||||
gnutls_free(pms.data);
|
||||
if (pk) {
|
||||
gnutls_free(pms.data);
|
||||
} else {
|
||||
g_free(pms.data);
|
||||
}
|
||||
ssl_print_string("pre master secret", &ssl_session->pre_master_secret);
|
||||
|
||||
/* Remove the master secret if it was there.
|
||||
|
|
Loading…
Reference in New Issue