static inline void shift_key(php_http_buffer_t *buf, char *key_str, size_t key_len, const char *ass, size_t asl, unsigned flags TSRMLS_DC)
{
	char *str;
	size_t len;

	if (buf->used) {
		php_http_buffer_append(buf, ass, asl);
	}

	prepare_key(flags, key_str, key_len, &str, &len TSRMLS_CC);
	php_http_buffer_append(buf, str, len);
	efree(str);
}

The product does not correctly convert an object, resource, or structure from one type to a different type.