Re: Re: com php-src: fix several datatype mismatches: Zend/zend_API.h ext/standard/basic_functions.c ext/standard/basic_functions.h

From: Date: Wed, 22 Oct 2014 19:18:42 +0000
Subject: Re: Re: com php-src: fix several datatype mismatches: Zend/zend_API.h ext/standard/basic_functions.c ext/standard/basic_functions.h
References: 1 2 3 4  Groups: php.cvs php.internals 
Request: Send a blank email to internals+get-78237@lists.php.net to get a copy of this message
What happens if you exceed uint32? Just curious, security-wise, because AFAIR exceeding uint32 would be possible through superglobals only, which a potential attacker could abuse. param=foo param[a]=foo&param[b]=foo&param[c]=foo&param[…]=foo (reaching uin32+1) On 22 Oct 2014, at 21:15, Nikita Popov <nikita.ppv@gmail.com> wrote: > On Wed, Oct 22, 2014 at 9:13 PM, Anatol Belski <ab@php.net> wrote: > >> Hi Nikita, >> >> On Wed, October 22, 2014 19:44, Nikita Popov wrote: >>> On Wed, Oct 22, 2014 at 5:56 PM, Anatol Belski <ab@php.net> wrote: >>> >>> >>>> Commit: a5e4f1f598f3a53e5793d290619806b41f1f1380 >>>> Author: Anatol Belski <ab@php.net> Wed, 22 Oct 2014 17:27:33 >>>> +0200 >>>> Parents: cccd538512c3d345a73eeb5f1cc29643a1bb2715 >>>> Branches: master >>>> >>>> >>>> Link: >>>> >> >> http://git.php.net/?p=php-src.git;a=commitdiff;h=a5e4f1f598f3a53e5793d29 >>>> 0619806b41f1f1380 >>>> >>>> >>>> Log: >>>> fix several datatype mismatches >>>> >>>> Changed paths: >>>> M Zend/zend_API.h >>>> M ext/standard/basic_functions.c >>>> M ext/standard/basic_functions.h >>>> >>>> >>> >>> Rather than adding casts, shouldn't the add_* functions be changed to >>> accept size_t lengths? >>> >>> Nikita >>> >>> >> I just remember we was talking that variable names and array keys aren't >> expected to be that long, so stayed by that approach. Actually some casts >> would be needed if it's done the other way round, for instance if such a >> thing would need to be saved into some struct or so. >> >> But actually it can be done either way. From the perf perspective both >> ways are not an issue, anyway. Do you think we should do that? >> >> Regards >> >> Anatol >> > > Array keys use normal zend_strings, which use size_t lengths. Only the > number of array elements is limited to uint32. > > Nikita

« previous php.internals (#78237) next »