diff options
| author | Melvyn Sopacua <msopacua@php.net> | 2002-10-06 16:32:24 +0000 |
|---|---|---|
| committer | Melvyn Sopacua <msopacua@php.net> | 2002-10-06 16:32:24 +0000 |
| commit | 8e1da7dbdaa4acb3095125369abc7bf2dae3030f (patch) | |
| tree | d585742737894971bcb33637be5da1fbaab9bf40 /ext/xslt/xslt.c | |
| parent | 12f47fe85ab30200c8246f9a333e7a5352fe705c (diff) | |
| download | php-git-8e1da7dbdaa4acb3095125369abc7bf2dae3030f.tar.gz | |
MFB
Diffstat (limited to 'ext/xslt/xslt.c')
| -rw-r--r-- | ext/xslt/xslt.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/ext/xslt/xslt.c b/ext/xslt/xslt.c index 1a240c874d..f6fff34979 100644 --- a/ext/xslt/xslt.c +++ b/ext/xslt/xslt.c @@ -86,6 +86,10 @@ extern void xslt_make_array(zval **zarr, char ***carr) int idx = 0; TSRMLS_FETCH(); + /* Skip a warning, when 'NULL' is provided as argument */ + if ( Z_TYPE_PP(zarr) == IS_NULL) + return; + arr = HASH_OF(*zarr); if (! arr) { php_error(E_WARNING, "Invalid argument or parameter array to %s", @@ -107,8 +111,12 @@ extern void xslt_make_array(zval **zarr, char ***carr) type = zend_hash_get_current_key(arr, &string_key, &num_key, 0); if (type == HASH_KEY_IS_LONG) { - php_error(E_WARNING, "Invalid argument or parameter array to %s", + php_error(E_WARNING, "Invalid key value for argument or parameter array to %s", get_active_function_name(TSRMLS_C)); + /* Make the next index NULL, so it signals the end of the array + this will protect against invalid arrays, like: + array('foo'=>'bar', 'foobarred', 'oops') */ + (*carr)[idx] = NULL; return; } |
