X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_params.c;h=ce785ecbe03efef1daad18b9acb0948fc5f9a61a;hp=092db0525e8ffa2e4e1b87033823d71da4fbc647;hb=046973e332c1475f9bf7717af9d33a75283deb37;hpb=4b017a75b134381e0f4dcef179fb3c63488a694e diff --git a/php_http_params.c b/php_http_params.c index 092db05..ce785ec 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 == '*') { @@ -343,7 +347,7 @@ static inline void sanitize_value(unsigned flags, char *str, size_t len, zval *z ZVAL_COPY_VALUE(tmp, zv); array_init(zv); add_assoc_zval(zv, language, tmp); - STR_FREE(language); + PTR_FREE(language); } } @@ -881,7 +885,7 @@ void php_http_params_separator_free(php_http_params_token_t **separator) php_http_params_token_t **sep = separator; if (sep) { while (*sep) { - STR_FREE((*sep)->str); + PTR_FREE((*sep)->str); efree(*sep); ++sep; }