summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2016-10-27 10:51:13 +0200
committerNikos Mavrogiannopoulos <nmav@redhat.com>2016-10-27 10:52:59 +0200
commitdbe6e89ce4e4281ba36f10c1da6f777e69c61e6f (patch)
treeed8583b0f95993f8424bb7fae17e76e56b275395
parent61c7e357f8057d13ffb6b82baac73aa52152a5f3 (diff)
downloadgnutls-dbe6e89ce4e4281ba36f10c1da6f777e69c61e6f.tar.gz
gnutls_server_name_get: fix the returned length on GNUTLS_E_SHORT_MEMORY_BUFFER
That addresses a potential infinite loop on applications trying to read the provided server name. Issue reported by Hubert Kario.
-rw-r--r--lib/ext_server_name.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ext_server_name.c b/lib/ext_server_name.c
index 1dccb709bf..4a59256664 100644
--- a/lib/ext_server_name.c
+++ b/lib/ext_server_name.c
@@ -331,7 +331,7 @@ gnutls_server_name_get (gnutls_session_t session, void *data,
}
else
{
- *data_length = priv->server_names[indx].name_length;
+ *data_length = priv->server_names[indx].name_length + 1;
return GNUTLS_E_SHORT_MEMORY_BUFFER;
}