]> granicus.if.org Git - php/commitdiff
- Enforce stream mode correct
authorMarcus Boerger <helly@php.net>
Sun, 14 May 2006 01:03:42 +0000 (01:03 +0000)
committerMarcus Boerger <helly@php.net>
Sun, 14 May 2006 01:03:42 +0000 (01:03 +0000)
main/streams/memory.c

index 5ba9902ebbc2e1c754944164a95edfda217af06a..344b7c7a6cc7010055a0778868ec200ee262b8b3 100644 (file)
@@ -656,6 +656,13 @@ static php_stream * php_stream_url_wrap_rfc2397(php_stream_wrapper *wrapper, cha
                /* store data */
                php_stream_temp_write(stream, comma, dlen TSRMLS_CC);
                php_stream_temp_seek(stream, 0, SEEK_SET, &newoffs TSRMLS_CC);
+               /* set special stream stuff (enforce exact mode) */
+               vlen = strlen(mode);
+               if (vlen >= sizeof(stream->mode)) {
+                       vlen = sizeof(stream->mode) - 1;
+               }
+               memcpy(stream->mode, mode, vlen);
+               stream->mode[vlen] = '\0';
                stream->ops = &php_stream_rfc2397_ops;
                ts = (php_stream_temp_data*)stream->abstract;
                assert(ts != NULL);