diff options
Diffstat (limited to 'ext/pspell/pspell.c')
| -rw-r--r-- | ext/pspell/pspell.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/ext/pspell/pspell.c b/ext/pspell/pspell.c index 4db27d9c4..d11f6927b 100644 --- a/ext/pspell/pspell.c +++ b/ext/pspell/pspell.c @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pspell.c 293036 2010-01-03 09:23:27Z sebastian $ */ +/* $Id: pspell.c 305507 2010-11-18 15:22:22Z pajoye $ */ #define IS_EXT_MODULE @@ -402,6 +402,10 @@ static PHP_FUNCTION(pspell_new_personal) } #endif + if (strlen(personal) != personal_len) { + RETURN_FALSE; + } + if (PG(safe_mode) && (!php_checkuid(personal, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { delete_pspell_config(config); RETURN_FALSE; @@ -834,6 +838,10 @@ static void pspell_config_path(INTERNAL_FUNCTION_PARAMETERS, char *option) return; } + if (strlen(value) != value_len) { + RETURN_FALSE; + } + PSPELL_FETCH_CONFIG; if (PG(safe_mode) && (!php_checkuid(value, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { @@ -891,6 +899,10 @@ static PHP_FUNCTION(pspell_config_repl) pspell_config_replace(config, "save-repl", "true"); + if (strlen(repl) != repl_len) { + RETURN_FALSE; + } + if (PG(safe_mode) && (!php_checkuid(repl, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } |
