iliaa Wed Dec 24 11:43:25 2003 EDT
Modified files: (Branch: PHP_4_3)
/php-src/main main.c
Log:
MFH: Fixed bug #26707 (Incorrect error for disabled functions/classes).
# Direct MFH of the patch in PHP 5.0 cannot be used because that would
# require the change of API. So we'll need to make do with a one time
# (small) memory leak on startup when disable_functions and/or classes are
# used.
Index: php-src/main/main.c
diff -u php-src/main/main.c:1.512.2.50 php-src/main/main.c:1.512.2.51
--- php-src/main/main.c:1.512.2.50 Wed Oct 8 22:59:03 2003
+++ php-src/main/main.c Wed Dec 24 11:43:23 2003
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: main.c,v 1.512.2.50 2003/10/09 02:59:03 iliaa Exp $ */
+/* $Id: main.c,v 1.512.2.51 2003/12/24 16:43:23 iliaa Exp $ */
/* {{{ includes
*/
@@ -165,23 +165,22 @@
*/
static void php_disable_functions(TSRMLS_D)
{
- char *s = NULL;
- char *e = INI_STR("disable_functions");
- char p;
+ char *s = NULL, *e;
- if (!*e) {
+ if (!*(INI_STR("disable_functions"))) {
return;
}
+ /* Intentional one time memory leak on startup */
+ e = strdup(INI_STR("disable_functions"));
+
while (*e) {
switch (*e) {
case ' ':
case ',':
if (s) {
- p = *e;
*e = '\0';
zend_disable_function(s, e-s TSRMLS_CC);
- *e = p;
s = NULL;
}
break;
@@ -203,23 +202,22 @@
*/
static void php_disable_classes(TSRMLS_D)
{
- char *s = NULL;
- char *e = INI_STR("disable_classes");
- char p;
+ char *s = NULL, *e;
- if (!*e) {
+ if (!*(INI_STR("disable_classes"))) {
return;
}
+ /* Intentional one time memory leak on startup */
+ e = strdup(INI_STR("disable_classes"));
+
while (*e) {
switch (*e) {
case ' ':
case ',':
if (s) {
- p = *e;
*e = '\0';
zend_disable_class(s, e-s TSRMLS_CC);
- *e = p;
s = NULL;
}
break;
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php