Edit report at https://bugs.php.net/bug.php?id=55415&edit=1

 ID:                 55415
 Updated by:         johan...@php.net
 Reported by:        callum at lynxphp dot com
 Summary:            php_info produces invalid anchor names
 Status:             Open
 Type:               Bug
 Package:            PHP options/info functions
 Operating System:   OS X / Windows
 PHP Version:        5.3.6
 Block user comment: N
 Private report:     N

 New Comment:

There might be other "bad" characters in the name, not only a space. So I think 
php_url_encode() should be used.

About your patch: Mind that c does no garbage collection so you'd create two 
memory leaks. A better version might be along the lines of

if (!sapi_module.phpinfo_as_text) {
    int len = 0;
    char *url_name = php_url_encode(zend_module->name, 
strlen(zend_module->name), &len);
    php_printf("<h2><a name=\"module_%s\">%s</a></h2>\n", url_name, 
zend_module->name);
    efree(url_name);
}

Didn't test it though.
/mind that declarations in


Previous Comments:
------------------------------------------------------------------------
[2011-08-13 11:24:05] callum at lynxphp dot com

I don't know whether I got the patch file right; I couldn't find any 
documentation

------------------------------------------------------------------------
[2011-08-13 09:40:00] callum at lynxphp dot com

Description:
------------
A few modules in PHP cause php_info to print invalid anchor names:

<h2><a name="module_Zend Optimizer">Zend Optimizer</a></h2>

The anchor name should not contain a space - this is invalid.


This bug can be replicated on a vanilla install of PHP with Zend Optimiser 
installed.

Test script:
---------------
<?php

phpinfo();



------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=55415&edit=1

Reply via email to