diff options
author | Pierre Joye <pajoye@php.net> | 2006-07-30 16:27:03 +0000 |
---|---|---|
committer | Pierre Joye <pajoye@php.net> | 2006-07-30 16:27:03 +0000 |
commit | 30901dc4cd6fdf881e82878387684991a59ad75d (patch) | |
tree | e5e4bed7ea148cfb9695edbe8744bed79e1948b6 /ext/openssl/tests | |
parent | 663672126109891b8d3d2fd55bfc17842c48832d (diff) | |
download | php-git-30901dc4cd6fdf881e82878387684991a59ad75d.tar.gz |
- MFB: #38261, openssl_x509_parse leaks with invalid certs
Diffstat (limited to 'ext/openssl/tests')
-rw-r--r-- | ext/openssl/tests/bug38261.phpt | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ext/openssl/tests/bug38261.phpt b/ext/openssl/tests/bug38261.phpt new file mode 100644 index 0000000000..e7d806083e --- /dev/null +++ b/ext/openssl/tests/bug38261.phpt @@ -0,0 +1,34 @@ +--TEST-- +openssl key from zval leaks +--SKIPIF-- +<?php +if (!extension_loaded("openssl")) die("skip"); +?> +--FILE-- +<?php +$cert = false; +class test { + function __toString() { + return "test object"; + } +} +$t = new test; + +var_dump(openssl_x509_parse("foo")); +var_dump(openssl_x509_parse($t)); +var_dump(openssl_x509_parse(array())); +var_dump(openssl_x509_parse()); +var_dump(openssl_x509_parse($cert)); +var_dump(openssl_x509_parse(new stdClass)); + +?> +--EXPECTF-- +bool(false) +bool(false) +bool(false) + +Warning: openssl_x509_parse() expects at least 1 parameter, 0 given in %s/bug38261.php on line %d +NULL +bool(false) + +Catchable fatal error: Object of class stdClass could not be converted to string in %s/bug38261.php on line %d |