X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=src%2Fphp_http_header_parser.c;fp=src%2Fphp_http_header_parser.c;h=cd76b763cc6b4642c2256265077480d830c67ab9;hp=b97ae6b62796b6e5e58f6ebb45f53fed4884eac7;hb=a81472d0108d16e680980a9e0c1b4af0d629c43a;hpb=377d576a6e68def5708cf1ffcd3c233c4dddf356 diff --git a/src/php_http_header_parser.c b/src/php_http_header_parser.c index b97ae6b..cd76b76 100644 --- a/src/php_http_header_parser.c +++ b/src/php_http_header_parser.c @@ -74,9 +74,14 @@ void php_http_header_parser_free(php_http_header_parser_t **parser) /* NOTE: 'str' has to be null terminated */ static void php_http_header_parser_error(size_t valid_len, char *str, size_t len, const char *eol_str ) { - zend_string *escaped_str = zend_string_init(str, len, 0); + zend_string *escaped_str, *zstr_str = zend_string_init(str, len, 0); - escaped_str = php_addcslashes(escaped_str, 1, ZEND_STRL("\x0..\x1F\x7F..\xFF")); +#if PHP_VERSION_ID < 70300 + escaped_str = php_addcslashes(zstr_str, 1, ZEND_STRL("\x0..\x1F\x7F..\xFF")); +#else + escaped_str = php_addcslashes(zstr_str, ZEND_STRL("\x0..\x1F\x7F..\xFF")); + zend_string_release_ex(zstr_str, 0); +#endif if (valid_len != len && (!eol_str || (str+valid_len) != eol_str)) { php_error_docref(NULL, E_WARNING, "Failed to parse headers: unexpected character '\\%03o' at pos %zu of '%s'", str[valid_len], valid_len, escaped_str->val);