Edit report at https://bugs.php.net/bug.php?id=60725&edit=1
ID: 60725 Comment by: anon at anon dot anon Reported by: a dot dobkin at drweb dot com Summary: zend_parse_parameters(): Incorrect parsing of the first parameter Status: Bogus Type: Bug Package: Unknown/Other Function Operating System: fedora core 16 x64 PHP Version: 5.3.9 Block user comment: N Private report: N New Comment: @a.dobkin, @idlesign x64 int is 4 bytes, long is 8 bytes. In the example zend_parse_parameters is being told to write 8 bytes into a 4 byte variable, and the address where the high 4 bytes would be if they existed happens to be (although this is platform specific and undefined) the address of the int string length. It's completely to be expected. If you're telling zend_parse_parameters you're giving it a long (as in "sls") then actually give it one. I.e., "long p_long;". Previous Comments: ------------------------------------------------------------------------ [2012-01-12 13:04:28] idlesign at yandex dot ru @cataphract, Sorry, don't get you: from what do you deduce that that is a "platform specific undefined behavior"? This behaviour you can easily stumble upon after 5.3.6 if develop module. >From what I've seen that is a regression as it is, and those guys having first >param string alongside with, let's say long, wanting to rely on string lenght >param are screwed up after 5.3.6 since they got bloody 0 instead of actual >length. ------------------------------------------------------------------------ [2012-01-12 12:45:54] cataphr...@php.net As felipe as said "l" is for "long". This bug tracker is not the place to explain platform specific undefined behavior. ------------------------------------------------------------------------ [2012-01-12 11:11:55] a dot dobkin at drweb dot com Incorrect parsing first parameter when type_spec = "sls" (e.g.) zend_parse_parameter() return string length as 0, always. See example #1 and #2: PHP Warning: First parameter: 'first' and it len: 0 in Command line code on line 1 ------------------------------------------------------------------------ [2012-01-12 11:11:16] idlesign at yandex dot ru @felipe, do you read what subject says? Please elaborate on "'l' expects a 'long', not an 'int'" of yours and on how does it relate to the problem. This ticket is about string length param is set to 0 upon specified circumstances. ------------------------------------------------------------------------ [2012-01-12 10:59:59] fel...@php.net 'l' expects a 'long', not an 'int' ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=60725 -- Edit this bug report at https://bugs.php.net/bug.php?id=60725&edit=1