Bug #73370 [Fbk->Asn]: falsely exits with "Out of Memory" when using USE_ZEND_ALLOC=0

From: Date: Wed, 02 Nov 2016 02:49:02 +0000
Subject: Bug #73370 [Fbk->Asn]: falsely exits with "Out of Memory" when using USE_ZEND_ALLOC=0
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-205133@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73370&edit=1 ID: 73370 User updated by: jim dot hofer at gmail dot com Reported by: jim dot hofer at gmail dot com Summary: falsely exits with "Out of Memory" when using USE_ZEND_ALLOC=0 -Status: Feedback +Status: Assigned Type: Bug Package: MySQLi related Operating System: Irrelevant PHP Version: Irrelevant Assigned To: laruence Block user comment: N Private report: N New Comment: I've applied the patch manually and it does not appear to fix the issue. I'm not sure why the PHP Version was marked irrelevant either since this did not affect 7.0.11? Previous Comments: ------------------------------------------------------------------------ [2016-10-25 19:51:20] jim dot hofer at gmail dot com The source in the srpm i'm applying it to is md5sum php-7.0.12.tar.xz bdcc4dbdac90c2a39422786653059f70 php-7.0.12.tar.xz which is the same checksum as the source on the downloads page. what version is this patch supposed to be applied to? ------------------------------------------------------------------------ [2016-10-25 19:42:42] yohgaki@php.net You should use plain source as we aren't responsible for packaging bug. ------------------------------------------------------------------------ [2016-10-25 16:02:58] jim dot hofer at gmail dot com I've tried to apply the patch but it's being rejected. I'm using php-7.0.12-2.remi.src.rpm to apply the patch and build the rpm ------------------------------------------------------------------------ [2016-10-22 07:07:52] laruence@php.net please try follow patch: diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c index 40eb100..5c9f124 100644 --- a/Zend/zend_alloc.c +++ b/Zend/zend_alloc.c @@ -2850,7 +2850,9 @@ static ZEND_COLD ZEND_NORETURN void zend_out_of_memory(void) ZEND_API void * __zend_malloc(size_t len) { - void *tmp = malloc(len); + void *tmp; + len = MAX(len, 1); + tmp = malloc(len); if (EXPECTED(tmp)) { return tmp; } thanks ------------------------------------------------------------------------ [2016-10-21 18:29:59] jim dot hofer at gmail dot com Description: ------------ I'm using USE_ZEND_ALLOC=0 for some cli scripts due this bug https://bugs.php.net/bug.php?id=72736 When using USE_ZEND_ALLOC=0 and querying mysql with buffered queries on and the select query returns an empty result set the script exits with the message "Out of Memory" Setting the query to use unbuffered results in expected behavior. Also, not setting USE_ZEND_ALLOC=0 and querying unbuffered returns results in expected behavior This bug does not affect 7.0.11 Test script: --------------- <?php $mysqli = new mysqli("localhost", "root"); $result = $mysqli->query("SELECT * FROM mysql.user WHERE User = 'test'", MYSQLI_USE_RESULT)->fetch_all(); var_dump($result); $result = $mysqli->query("SELECT * FROM mysql.user WHERE User = 'test'")->fetch_all(); var_dump($result); Expected result: ---------------- array(0) { } array(0) { } Actual result: -------------- array(0) { } Out of memory ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=73370&edit=1

« previous php.bugs (#205133) next »