Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:87469 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 24154 invoked from network); 31 Jul 2015 23:37:06 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Jul 2015 23:37:06 -0000 Authentication-Results: pb1.pair.com smtp.mail=smalyshev@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=smalyshev@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.49 as permitted sender) X-PHP-List-Original-Sender: smalyshev@gmail.com X-Host-Fingerprint: 209.85.220.49 mail-pa0-f49.google.com Received: from [209.85.220.49] ([209.85.220.49:36508] helo=mail-pa0-f49.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 65/21-17913-1A60CB55 for ; Fri, 31 Jul 2015 19:37:06 -0400 Received: by pachj5 with SMTP id hj5so47703898pac.3 for ; Fri, 31 Jul 2015 16:37:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=Eik6ODwZ356XMvi45I8S2emsFQm6VPmmGxnro3zQZy4=; b=fpnV7UT6GvjJ/Waqsvp9lCRRo9JzFuRhuy4i7IKmJRRMeP9OVztr+w3p5O8XkW64kP Z0kVwMX75mTrVBzNqmW0SegxKVcVIw3eaxZJ/sHjLjUrxRUEuxsCv3f9+DIfjpcU2y5D FDnLIWbdzWoOBvv3vHtHvDTl5a5WUOcgrQdQFJB6+5e9Ih06x5el+1TKE2hbz1ykLs+L Z7tLtRl1kZKkmm3neGWQudsCErzFfq6Z30EIzpWYMa5BlBB3k7hODTOjollAEdl1szmp DP/MBx+6vOHJB9zTBnA6jX32JKzzsHe2sgEqpJAIFm+FbWmz3JVtBaOmZgSM4LEcmByj qhDg== X-Received: by 10.66.158.3 with SMTP id wq3mr12435060pab.38.1438385822555; Fri, 31 Jul 2015 16:37:02 -0700 (PDT) Received: from Stas-Air.local (108-66-6-48.lightspeed.sntcca.sbcglobal.net. [108.66.6.48]) by smtp.gmail.com with ESMTPSA id nz12sm9656429pdb.12.2015.07.31.16.37.01 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 31 Jul 2015 16:37:01 -0700 (PDT) To: Rowan Collins References: <550FA2ED.6080000@gmail.com> <55B7B08E.7070700@gmail.com> <55BBD2EE.2070008@gmail.com> Cc: PHP Internals X-Enigmail-Draft-Status: N1110 Message-ID: <55BC069A.6000402@gmail.com> Date: Fri, 31 Jul 2015 16:36:58 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Re: Serializing exceptions From: smalyshev@gmail.com (Stanislav Malyshev) Hi! > As I have pointed out several times, it is only the 'args' section of > the backtrace that ever contains unserializable items. The solution previous could too. In fact, right now, since you can unserialize exceptions, previous can contain literally anything and so can any other members. Also, user code can modify any protected properties too. > DEBUG_BACKTRACE_IGNORE_ARGS in a debug_backtrace() call. IIRC the > object of called methods is already excluded (equivalent to masking > out DEBUG_PROVIDE_OBJECT) so what's left is all strings. I'm not sure how you arrived at the conclusion that all arguments in backtrace are strings. Arguments can be of any type. When printed, they are converted to strings, but they are not strings when stored. -- Stas Malyshev smalyshev@gmail.com