On Tue, Sep 2, 2008 at 11:30 PM, Arnaud Le Blanc <[EMAIL PROTECTED]>wrote:
> Hi, > > On Tuesday 02 September 2008 12:15:02 Dmitry Stogov wrote: > > > > Jani Taskinen wrote: > > >>> Dmitry Stogov wrote: > > >>>> Hi, > > >>>> > > >>>> Attached is a proposed fix for http://bugs.php.net/bug.php?id=45392for > > >>>> PHP_5_3. I don't know output buffering part very well, and I'm not > > >>>> completely sure about this fix, so please review it. > > >>>> > > >>>> The patch changes behavior of output buffering a bit. In case of > fatal > > >>>> error all output buffers opened by ob_start() with zero (or omitted) > > >>>> chunk_size argument are discarded. The fix brakes two tests: > > >>>> > > >>>> Test session_module_name() function : variation > > >>>> [ext/session/tests/session_module_name_variation3.phpt] > > >>>> Test session_set_save_handler() function : error functionality > > >>>> [ext/session/tests/session_set_save_handler_error3.phpt] > > >>>> > > >>>> We need to make a decision about #45392. > > >>>> > > >>>> 1) Fix it with proposed (or similar) patch > > >>>> > > >>>> 2) Make it bogus because any fix requires output buffering behavior > > >>>> change > > > > > > Sorry for top-posting. Anyway, reading the patch made me think that > > > maybe in the user/recoverable cases the output buffer should not be > > > discarded like this..? > > > > > > And IMO, it's a bug, bugs should be fixed even if it means changing the > > > behaviour in an _edge_ case. > > > > I'm not so sure as http://www.php.net/manual/en/function.ob-start.php > > doesn't make difference between successful and unsuccessful request and > > assumes "output buffer is flushed to the browser at the end of the > request". > > I think that it is critical to output this kind of buffer in case of fatal > error, as it may unexpectedly leak data which was not meant to be output. > It > seems Ok to me to discard this kind of buffers in this case. > > > > > > How do those session tests fail..? > > > > As they have ob_start() at top, the output is discarded and only error > > message is printed. > > > > > They expect output with fatal errors? (actually those tests failed > > > without your patch too, IIRC :) > > > > They works for me without the patch. > > > > Thanks. Dmitry. > > > > > --Jani > > > > > > > Regards, > > Arnaud > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > Hi all, [Warning] I don't know the insides of php and then it can be a stupid question eval use ob_start? I say that because, in eval if u have a Parse Error inside it will output it without really stop the script... eval doesn't change its behavior with this patch? If it makes no sense to you guys, simply ignore ;) -- Thanks for your attention, Diogo Neves Web Developer @ SAPO.pt by PrimeIT.pt