#24772 [Csd->Bgs]: Applying isset() to a dereferenced string causes leak

From: Date: Wed, 23 Jul 2003 18:36:04 +0000
Subject: #24772 [Csd->Bgs]: Applying isset() to a dereferenced string causes leak
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-44597@lists.php.net to get a copy of this message
ID: 24772 User updated by: moriyoshi@php.net Reported By: moriyoshi@php.net -Status: Closed +Status: Bogus Bug Type: Scripting Engine problem Operating System: irrelevant PHP Version: 4CVS-2003-07-23 (stable) New Comment: must.. have.. sleep... Previous Comments: ------------------------------------------------------------------------ [2003-07-23 13:35:18] iliaa@php.net This bug has been fixed in CVS. In case this was a PHP problem, snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. In case this was a documentation problem, the fix will show up soon at http://www.php.net/manual/. In case this was a PHP.net website problem, the change will show up on the PHP.net site and on the mirror sites in short time. Thank you for the report, and for helping us make PHP better. This was fixed on Monday, latest CVS sources do not have this problem. ------------------------------------------------------------------------ [2003-07-23 13:34:48] moriyoshi@php.net Oops, I was using the wrong binary.. ------------------------------------------------------------------------ [2003-07-23 13:28:43] moriyoshi@php.net Description: ------------ Applying isset() to a dereference element of the string causes a very small leak. Reproduce code: --------------- <?php $a = "string"; var_dump(isset($a{0})); ?> Expected result: ---------------- bool(true) Actual result: -------------- /home/koizumi/src/php-src-4/Zend/zend_execute.c(2399) : Freeing 0x0837545C (2 bytes), script=/tmp/test.php 2397: zval *str = T->EA.data.str_offset.str; 2398: char c = str->value.str.val[T->EA.data.str_offset.offset]; 2399: T->tmp_var.value.str.val = estrndup(&c, 1); 2400: T->tmp_var.value.str.len = 1; 2401: isset = 1; 2402: } ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=24772&edit=1

« previous php.bugs (#44597) next »