X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_params.c;h=523424423d3b21ce15704d4804cae4dd73fc1daa;hp=65504ac660155e6d40da74c98d8e7b0d4b15b7cc;hb=refs%2Fheads%2Fv2.1.x;hpb=d7f91cdeb926694858b07d77e29e10d5617112b1 diff --git a/php_http_params.c b/php_http_params.c index 65504ac..5234244 100644 --- a/php_http_params.c +++ b/php_http_params.c @@ -224,6 +224,10 @@ static inline void sanitize_key(unsigned flags, char *str, size_t len, zval *zv, if (flags & PHP_HTTP_PARAMS_ESCAPED) { sanitize_escaped(zv TSRMLS_CC); } + + if (!Z_STRLEN_P(zv)) { + return; + } eos = &Z_STRVAL_P(zv)[Z_STRLEN_P(zv)-1]; if (*eos == '*') { @@ -253,7 +257,7 @@ static inline void sanitize_rfc5987(zval *zv, char **language, zend_bool *latin1 switch (Z_STRVAL_P(zv)[0]) { case 'I': case 'i': - if (!strncasecmp(Z_STRVAL_P(zv), ZEND_STRL("iso-8859-1"))) { + if (!strncasecmp(Z_STRVAL_P(zv), "iso-8859-1", lenof("iso-8859-1"))) { *latin1 = 1; ptr = Z_STRVAL_P(zv) + lenof("iso-8859-1"); break; @@ -261,7 +265,7 @@ static inline void sanitize_rfc5987(zval *zv, char **language, zend_bool *latin1 /* no break */ case 'U': case 'u': - if (!strncasecmp(Z_STRVAL_P(zv), ZEND_STRL("utf-8"))) { + if (!strncasecmp(Z_STRVAL_P(zv), "utf-8", lenof("utf-8"))) { *latin1 = 0; ptr = Z_STRVAL_P(zv) + lenof("utf-8"); break;