Don't initialise a CIPHER_CTX if cipher == NULL.

This commit is contained in:
Guus Sliepen 2003-07-23 22:17:31 +00:00
parent 4aadb9500d
commit 5cb1471351
3 changed files with 11 additions and 7 deletions

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: net.c,v 1.35.4.192 2003/07/22 20:55:19 guus Exp $
$Id: net.c,v 1.35.4.193 2003/07/23 22:17:31 guus Exp $
*/
#include "system.h"
@ -339,7 +339,8 @@ void main_loop(void)
ifdebug(STATUS) logger(LOG_INFO, _("Regenerating symmetric key"));
RAND_pseudo_bytes(myself->key, myself->keylength);
EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len);
if(myself->cipher)
EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len);
send_key_changed(broadcast, myself);
keyexpires = now + keylifetime;
}

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: net_setup.c,v 1.1.2.38 2003/07/22 21:13:23 guus Exp $
$Id: net_setup.c,v 1.1.2.39 2003/07/23 22:17:31 guus Exp $
*/
#include "system.h"
@ -362,8 +362,10 @@ bool setup_myself(void)
keyexpires = now + keylifetime;
EVP_CIPHER_CTX_init(&packet_ctx);
EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len);
if(myself->cipher) {
EVP_CIPHER_CTX_init(&packet_ctx);
EVP_DecryptInit_ex(&packet_ctx, myself->cipher, NULL, myself->key, myself->key + myself->cipher->key_len);
}
/* Check if we want to use message authentication codes... */

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: protocol_key.c,v 1.1.4.20 2003/07/22 20:55:20 guus Exp $
$Id: protocol_key.c,v 1.1.4.21 2003/07/23 22:17:31 guus Exp $
*/
#include "system.h"
@ -250,7 +250,8 @@ bool ans_key_h(connection_t *c)
from->compression = compression;
EVP_EncryptInit_ex(&from->packet_ctx, from->cipher, NULL, from->key, from->key + from->cipher->key_len);
if(from->cipher)
EVP_EncryptInit_ex(&from->packet_ctx, from->cipher, NULL, from->key, from->key + from->cipher->key_len);
flush_queue(from);