|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2012-07-04 13:53 UTC] bronze1man at gmail dot com
Description:
------------
start xdebug openssl_encrypt an empty string ,then it will crash.
php version:
PHP 5.3.10-1ubuntu3.2 with Suhosin-Patch (cli) (built: Jun 13 2012 17:20:55)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
Test script:
---------------
<?php
xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE);
$d1 = openssl_encrypt('', 'AES-256-CBC', str_repeat('b',32), true,str_repeat('a', 16));
var_dump(bin2hex($d1));
Expected result:
----------------
string(32) "60aed1d68451e752108a0ddc3390be92"
Actual result:
--------------
not output anything.
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Nov 07 07:00:02 2025 UTC |
I've verified the same results. It seems specific to 5.3.10 and does not require xdebug to trigger: Passing an empty $data string to openssl_encrypt will cause a segmentation fault. [me@host:~]$ php --version PHP 5.3.10 (cli) (built: Feb 4 2012 07:16:03) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies with the ionCube PHP Loader v4.0.10, Copyright (c) 2002-2011, by ionCube Ltd. [me@host:~]$ php -r 'var_dump(bin2hex(openssl_encrypt("", "AES-256-CBC", str_repeat("b",32), true,str_repeat("a", 16))));' Segmentation fault With a different PHP version, openssl_encrypt behaves normally even with xdebug and suhosin: [me@otherhost:~]$ php --version PHP 5.3.23 (cli) (built: Apr 9 2013 18:07:12) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies with Xdebug v2.2.2, Copyright (c) 2002-2013, by Derick Rethans with Suhosin v0.9.33, Copyright (c) 2007-2012, by SektionEins GmbH [me@otherhost:~]$ php -r 'var_dump(bin2hex(openssl_encrypt("", "AES-256-CBC", str_repeat("b",32), true,str_repeat("a", 16))));' string(32) "60aed1d68451e752108a0ddc3390be92"