bug38261.phpt 827 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. openssl key from zval leaks
  3. --EXTENSIONS--
  4. openssl
  5. --FILE--
  6. <?php
  7. $cert = false;
  8. class test {
  9. function __toString() {
  10. return "test object";
  11. }
  12. }
  13. $t = new test;
  14. var_dump(openssl_x509_parse("foo"));
  15. try {
  16. var_dump(openssl_x509_parse($t));
  17. } catch (TypeError $e) {
  18. echo $e->getMessage(), "\n";
  19. }
  20. try {
  21. openssl_x509_parse([]);
  22. } catch (TypeError $e) {
  23. echo $e->getMessage(), "\n";
  24. }
  25. var_dump(openssl_x509_parse($cert));
  26. try {
  27. openssl_x509_parse(new stdClass);
  28. } catch (TypeError $e) {
  29. echo $e->getMessage(), "\n";
  30. }
  31. ?>
  32. --EXPECT--
  33. bool(false)
  34. bool(false)
  35. openssl_x509_parse(): Argument #1 ($certificate) must be of type OpenSSLCertificate|string, array given
  36. bool(false)
  37. openssl_x509_parse(): Argument #1 ($certificate) must be of type OpenSSLCertificate|string, stdClass given