bug38255.phpt 786 B

123456789101112131415161718192021222324252627282930313233
  1. --TEST--
  2. openssl key from zval leaks
  3. --EXTENSIONS--
  4. openssl
  5. --FILE--
  6. <?php
  7. $pub_key_id = false;
  8. $signature = '';
  9. $ok = openssl_verify("foo", $signature, $pub_key_id, OPENSSL_ALGO_MD5);
  10. class test {
  11. function __toString() {
  12. return "test object";
  13. }
  14. }
  15. $t = new test;
  16. var_dump(openssl_verify("foo", $signature, $pub_key_id, OPENSSL_ALGO_MD5));
  17. var_dump(openssl_verify("foo", $t, $pub_key_id, OPENSSL_ALGO_MD5));
  18. echo "Done\n";
  19. ?>
  20. --EXPECTF--
  21. Warning: openssl_verify(): Supplied key param cannot be coerced into a public key in %s on line %d
  22. Warning: openssl_verify(): Supplied key param cannot be coerced into a public key in %s on line %d
  23. bool(false)
  24. Warning: openssl_verify(): Supplied key param cannot be coerced into a public key in %s on line %d
  25. bool(false)
  26. Done