summaryrefslogtreecommitdiff
path: root/main/streams
diff options
context:
space:
mode:
authorJakub Zelenka <bukka@php.net>2016-02-29 19:31:20 +0000
committerJakub Zelenka <bukka@php.net>2016-02-29 19:31:20 +0000
commit70141093a731049ee9220e9e965f61ded56ed4d5 (patch)
tree6e67b382253a186889bfdc37c31062d6fb9880d9 /main/streams
parente453af3851daf08f5af9b45fc7819c3a9c336f1e (diff)
parent97294aca7e066443291cc2d77f8674ac23eabb32 (diff)
downloadphp-git-70141093a731049ee9220e9e965f61ded56ed4d5.tar.gz
Merge branch 'master' into openssl_aead
Diffstat (limited to 'main/streams')
-rw-r--r--main/streams/memory.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/main/streams/memory.c b/main/streams/memory.c
index e2695ff2d9..56ffe344aa 100644
--- a/main/streams/memory.c
+++ b/main/streams/memory.c
@@ -22,7 +22,7 @@
#include "php.h"
#include "ext/standard/base64.h"
-PHPAPI int php_url_decode(char *str, int len);
+PHPAPI size_t php_url_decode(char *str, size_t len);
/* Memory streams use a dynamic memory buffer to emulate a stream.
* You can use php_stream_memory_open to create a readonly stream
@@ -697,7 +697,9 @@ static php_stream * php_stream_url_wrap_rfc2397(php_stream_wrapper *wrapper, con
plen = sep - path;
vlen = (semi ? semi - sep : mlen - plen) - 1 /* '=' */;
key = estrndup(path, plen);
- add_assoc_stringl_ex(&meta, key, plen, sep + 1, vlen);
+ if (plen != sizeof("mediatype")-1 || memcmp(key, "mediatype", sizeof("mediatype")-1)) {
+ add_assoc_stringl_ex(&meta, key, plen, sep + 1, vlen);
+ }
efree(key);
plen += vlen + 1;
mlen -= plen;
@@ -728,7 +730,7 @@ static php_stream * php_stream_url_wrap_rfc2397(php_stream_wrapper *wrapper, con
ilen = (int)ZSTR_LEN(base64_comma);
} else {
comma = estrndup(comma, dlen);
- dlen = php_url_decode(comma, (int)dlen);
+ dlen = php_url_decode(comma, dlen);
ilen = (int)dlen;
}