summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2020-03-27 09:53:38 +0100
committerDaiki Ueno <dueno@redhat.com>2020-04-21 16:56:42 +0200
commit5bba569b44b85b5aa126c1c56a549c9575856a9f (patch)
tree8b9f85fd64e8845f6766acacfcef1857717ba88c /lib
parent6e2e00257ac495d46ebe67e59fc48b67f8701fb3 (diff)
downloadgnutls-5bba569b44b85b5aa126c1c56a549c9575856a9f.tar.gz
gnutls_session_ext_register: keep track of extension nametmp-ext-name
Previously it discarded the name argument, and that was making the debug output awkward, e.g., running tests/tls-session-ext-register -v: client|<4>| EXT[0x9cdc20]: Preparing extension ((null)/242) for 'client hello' client|<4>| EXT[0x9cdc20]: Preparing extension ((null)/241) for 'client hello' client|<4>| EXT[0x9cdc20]: Sending extension (null)/241 (2 bytes) Signed-off-by: Daiki Ueno <dueno@redhat.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/hello_ext.c1
-rw-r--r--lib/state.c2
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/hello_ext.c b/lib/hello_ext.c
index 8052488366..dbe73fdeb3 100644
--- a/lib/hello_ext.c
+++ b/lib/hello_ext.c
@@ -898,6 +898,7 @@ gnutls_session_ext_register(gnutls_session_t session,
return gnutls_assert_val(GNUTLS_E_MEMORY_ERROR);
memset(&tmp_mod, 0, sizeof(hello_ext_entry_st));
+ tmp_mod.name = gnutls_strdup(name);
tmp_mod.free_struct = 1;
tmp_mod.tls_id = id;
tmp_mod.gid = gid;
diff --git a/lib/state.c b/lib/state.c
index 98900c171f..8ba2cc4a32 100644
--- a/lib/state.c
+++ b/lib/state.c
@@ -692,6 +692,8 @@ void gnutls_deinit(gnutls_session_t session)
_gnutls_free_datum(&session->internals.resumption_data);
_gnutls_free_datum(&session->internals.dtls.dcookie);
+ for (i = 0; i < session->internals.rexts_size; i++)
+ gnutls_free(session->internals.rexts[i].name);
gnutls_free(session->internals.rexts);
gnutls_free(session->internals.post_handshake_cr_context.data);