Bug #71919 [Opn->Csd]: openssl_pkey_get_private/public() require 2 calls to openssl_pkey_free()
| From: | bukka@php.net | Date: | Mon, 30 Oct 2017 12:37:59 +0000 |
| Subject: | Bug #71919 [Opn->Csd]: openssl_pkey_get_private/public() require 2 calls to openssl_pkey_free() | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-212375@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=71919&edit=1
ID: 71919
Updated by: bukka@php.net
Reported by: gelenkig at runbox dot com
Summary: openssl_pkey_get_private/public() require 2 calls to
openssl_pkey_free()
-Status: Open
+Status: Closed
Type: Bug
Package: OpenSSL related
Operating System: Linux
PHP Version: 5.5.33
-Assigned To:
+Assigned To: bukka
Block user comment: N
Private report: N
New Comment:
This was fixed in 7.0 when extension was ported and is no longer an issue. It is still present in
5.6 but that's just for security related fixes. So closing.
Previous Comments:
------------------------------------------------------------------------
[2016-03-29 12:32:41] gelenkig at runbox dot com
Description:
------------
This code works as expected:
$r = openssl_pkey_new();
// passes
assert(is_resource($r));
openssl_pkey_free($r);
// passes
assert(!is_resource($r));
Test script:
---------------
This code works wrong:
$r = openssl_pkey_new();
openssl_pkey_export($r, $pem);
openssl_pkey_free($r);
$r = openssl_pkey_get_private($pem);
// passes
assert(is_resource($r));
openssl_pkey_free($r);
// assertion below must not pass but it does pass
assert(is_resource($r));
openssl_pkey_free($r);
// passes
assert(!is_resource($r));
Same wrong behaviour for openssl_pkey_get_public().
Expected result:
----------------
// either that or openssl_pkey_get_public()
$r = openssl_pkey_get_private($pem);
// passes
assert(is_resource($r));
openssl_pkey_free($r);
// passes (in reality DOES NOT)
assert(is_resource($r));
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=71919&edit=1