Fix segfault in older versions of OpenSSL (before 0.9.8i)

This commit is contained in:
Scott MacVicar 2011-12-18 05:14:32 +00:00
parent b8a08bf263
commit 095cbc48a8
2 changed files with 6 additions and 1 deletions

3
NEWS
View File

@ -6,6 +6,9 @@ PHP NEWS
. Added max_input_vars directive to prevent attacks based on hash collisions
(Dmitry).
- OpenSSL:
. Fix segfault with older versions of OpenSSL. (Scott)
- Streams:
. Fixed bug #60455 (stream_get_line misbehaves if EOF is not detected together
with the last read). (Gustavo)

View File

@ -4713,7 +4713,9 @@ PHP_FUNCTION(openssl_encrypt)
EVP_CIPHER_CTX_set_key_length(&cipher_ctx, password_len);
}
EVP_EncryptInit_ex(&cipher_ctx, NULL, NULL, key, (unsigned char *)iv);
EVP_EncryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
if (data_len > 0) {
EVP_EncryptUpdate(&cipher_ctx, outbuf, &i, (unsigned char *)data, data_len);
}
outlen = i;
if (EVP_EncryptFinal(&cipher_ctx, (unsigned char *)outbuf + i, &i)) {
outlen += i;