moriyoshi Wed Nov 13 02:40:11 2002 EDT Modified files: /php4/ext/mbstring mbstring.c Log: Fixed a buffer over-run bug in case a function to be overloaded doesn't exist. # This patch was made by Ilia. Index: php4/ext/mbstring/mbstring.c diff -u php4/ext/mbstring/mbstring.c:1.139 php4/ext/mbstring/mbstring.c:1.140 --- php4/ext/mbstring/mbstring.c:1.139 Tue Nov 12 17:05:18 2002 +++ php4/ext/mbstring/mbstring.c Wed Nov 13 02:40:11 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: mbstring.c,v 1.139 2002/11/12 22:05:18 moriyoshi Exp $ */ +/* $Id: mbstring.c,v 1.140 2002/11/13 07:40:11 moriyoshi Exp $ */ /* * PHP4 Multibyte String module "mbstring" (currently only for Japanese) @@ -915,24 +915,16 @@ zend_hash_find(EG(function_table), p->ovld_func, strlen(p->ovld_func)+1 , (void **)&func); - if (zend_hash_find(EG(function_table), p->orig_func, - strlen(p->orig_func)+1, (void **)&orig) != SUCCESS) { - - php_error_docref("ref.mbstring" TSRMLS_CC, E_ERROR, - "mbstring couldn't find function %s.", p->orig_func); - + if (zend_hash_find(EG(function_table), p->orig_func, +strlen(p->orig_func)+1, (void **)&orig) != SUCCESS) { + php_error_docref("ref.mbstring" TSRMLS_CC, +E_WARNING, "mbstring couldn't find function %s.", p->orig_func); + return FAILURE; } else { + zend_hash_add(EG(function_table), +p->save_func, strlen(p->save_func)+1, orig, sizeof(zend_function), NULL); - zend_hash_add(EG(function_table), p->save_func, - strlen(p->save_func)+1, orig, - sizeof(zend_function), NULL); - - if (zend_hash_update(EG(function_table), p->orig_func, - strlen(p->orig_func)+1, func, sizeof(zend_function), + if (zend_hash_update(EG(function_table), +p->orig_func, strlen(p->orig_func)+1, func, sizeof(zend_function), NULL) == FAILURE) { - - php_error_docref("ref.mbstring" TSRMLS_CC, E_ERROR, - "mbstring couldn't replace function %s.", p->orig_func); + php_error_docref("ref.mbstring" +TSRMLS_CC, E_WARNING, "mbstring couldn't replace function %s.", p->orig_func); + return FAILURE; } } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php