diff options
-rwxr-xr-x | src/libstrongswan/asn1/pem.c | 7 | ||||
-rw-r--r-- | src/libstrongswan/plugins/des/des_crypter.c | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/libstrongswan/asn1/pem.c b/src/libstrongswan/asn1/pem.c index 63b30728c..c79e98b94 100755 --- a/src/libstrongswan/asn1/pem.c +++ b/src/libstrongswan/asn1/pem.c @@ -303,7 +303,12 @@ err_t pem_to_bin(chunk_t *blob, chunk_t *passphrase, bool *pgp) if (state != PEM_POST) return "file coded in unknown format, discarded"; - return (encrypted)? pem_decrypt(blob, alg, key_size, &iv, passphrase) : NULL; + if (!encrypted) + { + return NULL; + } + return pem_decrypt(blob, alg, key_size, &iv, passphrase); + } /* load a coded key or certificate file with autodetection diff --git a/src/libstrongswan/plugins/des/des_crypter.c b/src/libstrongswan/plugins/des/des_crypter.c index 06d497946..17defda50 100644 --- a/src/libstrongswan/plugins/des/des_crypter.c +++ b/src/libstrongswan/plugins/des/des_crypter.c @@ -1370,6 +1370,7 @@ static void decrypt(private_des_crypter_t *this, chunk_t data, chunk_t iv, if (decrypted) { *decrypted = chunk_alloc(data.len); + out = decrypted->ptr; } memcpy(&ivb, iv.ptr, sizeof(des_cblock)); des_cbc_encrypt((des_cblock*)(data.ptr), (des_cblock*)out, @@ -1390,6 +1391,7 @@ static void encrypt(private_des_crypter_t *this, chunk_t data, chunk_t iv, if (encrypted) { *encrypted = chunk_alloc(data.len); + out = encrypted->ptr; } memcpy(&ivb, iv.ptr, sizeof(des_cblock)); des_cbc_encrypt((des_cblock*)(data.ptr), (des_cblock*)out, @@ -1409,6 +1411,7 @@ static void decrypt3(private_des_crypter_t *this, chunk_t data, chunk_t iv, if (decrypted) { *decrypted = chunk_alloc(data.len); + out = decrypted->ptr; } memcpy(&ivb, iv.ptr, sizeof(des_cblock)); des_ede3_cbc_encrypt((des_cblock*)(data.ptr), (des_cblock*)out, @@ -1429,6 +1432,7 @@ static void encrypt3(private_des_crypter_t *this, chunk_t data, chunk_t iv, if (encrypted) { *encrypted = chunk_alloc(data.len); + out = encrypted->ptr; } memcpy(&ivb, iv.ptr, sizeof(des_cblock)); des_ede3_cbc_encrypt((des_cblock*)(data.ptr), (des_cblock*)out, |