diff options
-rw-r--r-- | src/lib/crypt.c | 3 | ||||
-rw-r--r-- | src/lib/dev.c | 9 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/crypt.c b/src/lib/crypt.c index cda3cb46..06cc1749 100644 --- a/src/lib/crypt.c +++ b/src/lib/crypt.c @@ -365,8 +365,9 @@ static int crypt_dh_pkp_create(void ** pkp, (void) pk; memset(pk, 0, MSGBUFSZ); + *pkp = NULL; - return -ECRYPT; + return 0; #endif } diff --git a/src/lib/dev.c b/src/lib/dev.c index a6be762b..0a783bf7 100644 --- a/src/lib/dev.c +++ b/src/lib/dev.c @@ -552,10 +552,11 @@ int flow_accept(qosspec_t * qs, err = -ECRYPT; goto fail_crypt_pkp; } - - msg.has_pk = true; - msg.pk.data = buf; - msg.pk.len = (uint32_t) key_len; + if (key_len > 0) { + msg.has_pk = true; + msg.pk.data = buf; + msg.pk.len = (uint32_t) key_len; + } pthread_cleanup_push(crypt_dh_pkp_destroy, pkp); |