static void push_param(HashTable *params, php_http_params_state_t *state, const php_http_params_opts_t *opts TSRMLS_DC)
{
+ if (!state->current.val) {
+ return;
+ }
+
if (state->val.str) {
if (0 < (state->val.len = state->input.str - state->val.str)) {
sanitize_value(opts->flags, state->val.str, state->val.len, *(state->current.val), state->rfc5987 TSRMLS_CC);
--- /dev/null
+--TEST--
+Null pointer deref in sanitize_value
+--SKIPIF--
+<?php
+include "skipif.inc";
+?>
+--FILE--
+<?php
+echo "Test\n";
+
+$urls = [
+ "",
+ "? = ="
+];
+
+$url0=new http\Url($urls[0]);
+$url1=$url0->mod($urls[1]);
+
+echo $url1;
+
+?>
+
+===DONE===
+--EXPECTF--
+Test
+http://%s/
+===DONE===