Sorry for the 2nd typo -  Jeroen :)


At 17:09 16/7/2001, [EMAIL PROTECTED] wrote:
>ID: 10721
>Updated by: zeev
>Reported By: [EMAIL PROTECTED]
>Old Status: Assigned
>Status: Closed
>Bug Type: Scripting Engine problem
>Operating System: GNU/Linux
>PHP Version: 4.0.6
>Assigned To: jeroen
>New Comment:
>
>This odd character is quite intentional, and is there in order to ensure 
>that any functions created don't clash with user-defined functions.  You 
>can see in the code that this extra NULL byte is accounted for and 
>deliberately being added, it's not a coincidence :)
>
>Jereon - please don't submit this patch.
>
>Previous Comments:
>------------------------------------------------------------------------
>
>[2001-07-09 09:45:11] [EMAIL PROTECTED]
>
>Fixed the patch, only waiting for it to get committed.
>
>------------------------------------------------------------------------
>
>[2001-06-27 16:21:20] [EMAIL PROTECTED]
>
>Any word on this?  Still exists in 4.0.6.
>
>
>------------------------------------------------------------------------
>
>[2001-05-07 23:10:15] [EMAIL PROTECTED]
>
>An odd character seems to appear in the return value of
>create_function() (which should be of 'lambda_x' format
>where x is an integer).  This character is causing eval() to
>crap out when trying to evaluate the created function.  Just
>before the 'l' is a character that looks like Pi in the
>browser.  The only way I knew to find out what it was was to
>urlencode() the return value and the strange character was
>encoded to '%00'.  I'm no C coder, but the changes below
>seemed to fix things.
>
>*** /tmp/zend_builtin_functions.c       Mon May  7 22:09:45 2001
>--- /usr/local/src/php-4.0.5/Zend/zend_builtin_functions.c      Mon May  7 
>22:03:31 2001
>***************
>*** 965,974 ****
>                 }
>                 function_add_ref(func);
>
>!               function_name = (char *)
>emalloc(sizeof("0lambda_")+MAX_LENGTH_OF_LONG);
>
>                 do {
>!
>         sprintf(function_name, "%clambda_%d", 0, ++EG(lambda_count));
>
>         function_name_length = strlen(function_name+1)+1;
>                 } while (zend_hash_add(EG(function_table), function_name,
>function_name_length+1, func, sizeof(zend_function),
>NULL)==FAILURE);
>                 zend_hash_del(EG(function_table), LAMBDA_TEMP_FUNCNAME,
>sizeof(LAMBDA_TEMP_FUNCNAME));
>--- 965,974 ----
>                 }
>                 function_add_ref(func);
>
>!               function_name = (char *)
>emalloc(sizeof("lambda_")+MAX_LENGTH_OF_LONG);
>
>                 do {
>!
>         sprintf(function_name, "lambda_%d", ++EG(lambda_count));
>
>         function_name_length = strlen(function_name+1)+1;
>                 } while (zend_hash_add(EG(function_table), function_name,
>function_name_length+1, func, sizeof(zend_function),
>NULL)==FAILURE);
>                 zend_hash_del(EG(function_table), LAMBDA_TEMP_FUNCNAME,
>sizeof(LAMBDA_TEMP_FUNCNAME));
>
>
>------------------------------------------------------------------------
>
>
>
>Edit this bug report at http://bugs.php.net/?id=10721&edit=1
>
>
>--
>PHP Development Mailing List <http://www.php.net/>
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>To contact the list administrators, e-mail: [EMAIL PROTECTED]

--
Zeev Suraski <[EMAIL PROTECTED]>
CTO &  co-founder, Zend Technologies Ltd. http://www.zend.com/


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to