pajoye Fri May 26 00:32:07 2006 UTC
Modified files: (Branch: PHP_5_2)
/php-src NEWS
/php-src/ext/openssl xp_ssl.c
Log:
- fix leaks in openssl context options
http://cvs.php.net/viewcvs.cgi/php-src/NEWS?r1=1.2027.2.547.2.54&r2=1.2027.2.547.2.55&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.54 php-src/NEWS:1.2027.2.547.2.55
--- php-src/NEWS:1.2027.2.547.2.54 Thu May 25 22:54:16 2006
+++ php-src/NEWS Fri May 26 00:32:06 2006
@@ -44,6 +44,7 @@
- Added pg_field_table() function. (Edin)
- Added implementation of curl_multi_info_read(). (Brian)
- Added RFC2397 (data: stream) support. (Marcus)
+- Fixed memory leaks in openssl streams context options (Pierre)
- Fixed handling of extremely long paths inside tempnam() function. (Ilia)
- Fixed bug #37587 (var without attribute causes segfault). (Marcus)
- Fixed bug #37569 (WDDX incorrectly encodes high-ascii characters). (Ilia)
http://cvs.php.net/viewcvs.cgi/php-src/ext/openssl/xp_ssl.c?r1=1.22.2.3&r2=1.22.2.3.2.1&diff_format=u
Index: php-src/ext/openssl/xp_ssl.c
diff -u php-src/ext/openssl/xp_ssl.c:1.22.2.3
php-src/ext/openssl/xp_ssl.c:1.22.2.3.2.1
--- php-src/ext/openssl/xp_ssl.c:1.22.2.3 Sun Apr 30 23:43:40 2006
+++ php-src/ext/openssl/xp_ssl.c Fri May 26 00:32:07 2006
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: xp_ssl.c,v 1.22.2.3 2006/04/30 23:43:40 wez Exp $ */
+/* $Id: xp_ssl.c,v 1.22.2.3.2.1 2006/05/26 00:32:07 pajoye Exp $ */
#include "php.h"
#include "ext/standard/file.h"
@@ -432,6 +432,7 @@
"ssl",
"peer_certificate",
zcert);
peer_cert = NULL;
+ efree(zcert);
}
if (SUCCESS ==
php_stream_context_get_option(
@@ -445,7 +446,7 @@
chain = SSL_get_peer_cert_chain(
sslsock->ssl_handle);
- if (chain) {
+ if (chain && sk_X509_num(chain)
> 0) {
int i;
array_init(arr);
@@ -458,6 +459,8 @@
php_openssl_get_x509_list_id()));
add_next_index_zval(arr, zcert);
}
+ efree(zcert);
+
} else {
ZVAL_NULL(arr);
}
@@ -465,6 +468,8 @@
php_stream_context_set_option(stream->context,
"ssl",
"peer_certificate_chain",
arr);
+ zval_dtor(arr);
+ efree(arr);
}
}
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php