Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:21706 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 202 invoked by uid 1010); 27 Jan 2006 16:39:33 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 187 invoked from network); 27 Jan 2006 16:39:33 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Jan 2006 16:39:33 -0000 X-Host-Fingerprint: 216.117.147.250 unknown Linux 2.4/2.6 Received: from ([216.117.147.250:50318] helo=ctindustries.net) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id A2/49-03249-4CC4AD34 for ; Fri, 27 Jan 2006 11:39:32 -0500 Received: from [127.0.0.1] (dsta-aa203.pivot.net [66.186.171.203]) (authenticated bits=0) by ctindustries.net (8.12.8/8.12.8) with ESMTP id k0RFQv3w016130 for ; Fri, 27 Jan 2006 10:26:57 -0500 Message-ID: <43DA4E9F.8050908@ctindustries.net> Date: Fri, 27 Jan 2006 11:47:27 -0500 User-Agent: Thunderbird 1.5 (Windows/20051201) MIME-Version: 1.0 To: "internals@lists.php.net" Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Antivirus: avast! (VPS 0604-4, 01/27/2006), Outbound message X-Antivirus-Status: Clean X-Virus-Scanned: ClamAV 0.88/1253/Fri Jan 27 05:10:20 2006 on ctindustries.net X-Virus-Status: Clean Subject: crashing due to get_properties handler From: rrichards@ctindustries.net (Rob Richards) Is it required that the get_properties handler be implemented for an object? In the source there are places that it tests if it is implemented and then tests the returned value in the event it is NULL. The problem is that this is not consistent throughout the zend and php source and I'm getting crashes on certain calls. For example: calling var_dump in var.c: Z_OBJPROP_PP is used without testing if implemented so the handler is required otherwise crash. get_object_vars in zend_builtin_functions.c: checks to see if it is implemented, but doesn't test the return value in the case of NULL. I assume checks for both the handler existing and the return value possibly being NULL are what should be used throughout the code, but wanted to check on that first. Rob