Re: cvs: php-src /ext/curl interface.c

From: Date: Tue, 11 Nov 2008 11:05:21 +0000
Subject: Re: cvs: php-src /ext/curl interface.c
References: 1 2 3  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-54188@lists.php.net to get a copy of this message
Hello Pierre, Tuesday, November 11, 2008, 12:01:38 PM, you wrote: > hi, > On Tue, Nov 11, 2008 at 11:51 AM, Marcus Boerger <helly@php.net> wrote: >> This is extremely bad code. We have tons of better APIs to do what you >> want. And besides wouldn't it be better to list all those entries with >> enabled/disabled as table rows anyway? > I do not think adding a 30 lines table is better. About being an > extremely bad code, in which way? What will you use then? Each of > these features or protocols are present or not. The maximum size is > known and the buffer is large enough to contain them. >> (spprintf, snprintf, strcat, smart-strings,...) >> (the problem is that adding something will mostlikely result in crashes as >> ppl will add the necessary three lines and be happy because something else >> is disabled for them. Then someone having all enabled gets crashes because >> they forgot to increase the size of the string. > The problem is you do not know before hand which features are enabled. > As I agree that dynamic allocation for the protocols string would be > better, there is no need to use it now or in the mid term. The size of > the tmp buffer is large enough to support much more protocols than > curl or features can ever have. > One thing I forgot to add is to check if n > buffer size, it will > solve the problem you are refering to. In case n > buffersize you already crash. And as said you are creating a maintenance issue here. And besides your own one, people will copy this code and fail calculating the buffer correct. For one, ppl often do not know that there is a limited buffer or that a limited buffer could fail. And even if you know how to do it correct. Someone else taking on won't. p.s.: No one will ever need more that 640K RAM :-) Best regards, Marcus

« previous php.cvs (#54188) next »