From: Guus Sliepen Date: Tue, 15 Oct 2013 12:09:42 +0000 (+0200) Subject: Fix sending empty SPTPS records. X-Git-Tag: import-tinc-1.1~51 X-Git-Url: https://git.meshlink.io/?a=commitdiff_plain;h=9b2eaebdf6eb46321403bfc6af1145d051d3bbdc;p=meshlink Fix sending empty SPTPS records. --- diff --git a/src/openssl/cipher.c b/src/openssl/cipher.c index b01f5267..5172d82e 100644 --- a/src/openssl/cipher.c +++ b/src/openssl/cipher.c @@ -160,7 +160,7 @@ bool cipher_gcm_encrypt_start(cipher_t *cipher, const void *indata, size_t inlen bool cipher_gcm_encrypt_finish(cipher_t *cipher, const void *indata, size_t inlen, void *outdata, size_t *outlen) { int len = 0, pad = 0; - if(!(inlen && EVP_EncryptUpdate(&cipher->ctx, (unsigned char *)outdata, &len, (unsigned char *)indata, inlen)) + if((inlen && !EVP_EncryptUpdate(&cipher->ctx, (unsigned char *)outdata, &len, (unsigned char *)indata, inlen)) || !EVP_EncryptFinal(&cipher->ctx, (unsigned char *)outdata + len, &pad)) { logger(DEBUG_ALWAYS, LOG_ERR, "Error while encrypting: %s", ERR_error_string(ERR_get_error(), NULL)); return false;