summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2016-02-26 12:01:25 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2016-08-09 15:53:13 +0200
commit6159302305b70be98b92eb8b895598e2989f1af3 (patch)
tree07166e4100db6c71dabe800a3fdd3e4d34787738
parent3623959abd55f6bf6c2433cf8175c4c512d7fdbf (diff)
downloadgnutls-6159302305b70be98b92eb8b895598e2989f1af3.tar.gz
Better check for null signature method.
-rw-r--r--lib/gnutls_algorithms.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/gnutls_algorithms.c b/lib/gnutls_algorithms.c
index b46f6f24ab..1285ebf5a7 100644
--- a/lib/gnutls_algorithms.c
+++ b/lib/gnutls_algorithms.c
@@ -2137,7 +2137,8 @@ _gnutls_tls_aid_to_sign (const sign_algorithm_st * aid)
{
gnutls_sign_algorithm_t ret = GNUTLS_SIGN_UNKNOWN;
- if (memcmp(aid, &unknown_tls_aid, sizeof(*aid))==0)
+ if (aid->hash_algorithm == unknown_tls_aid.hash_algorithm &&
+ aid->sign_algorithm == unknown_tls_aid.sign_algorithm)
return ret;
GNUTLS_SIGN_LOOP (if (p->aid.hash_algorithm == aid->hash_algorithm
@@ -2160,7 +2161,8 @@ _gnutls_sign_to_tls_aid (gnutls_sign_algorithm_t sign)
GNUTLS_SIGN_ALG_LOOP (ret = &p->aid);
- if (ret != NULL && memcmp(ret, &unknown_tls_aid, sizeof(*ret))==0)
+ if (ret != NULL && ret->hash_algorithm == unknown_tls_aid.hash_algorithm &&
+ ret->sign_algorithm == unknown_tls_aid.sign_algorithm)
return NULL;
return ret;