Bug #71919 [Opn->Csd]: openssl_pkey_get_private/public() require 2 calls to openssl_pkey_free()

From: 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

« previous php.bugs (#212375) next »