]> granicus.if.org Git - php/commitdiff
Let's make this safer from maliciously crafted filename
authorXinchen Hui <laruence@gmail.com>
Mon, 20 Jan 2020 04:33:37 +0000 (12:33 +0800)
committerXinchen Hui <laruence@gmail.com>
Mon, 20 Jan 2020 04:33:37 +0000 (12:33 +0800)
ext/opcache/ZendAccelerator.c

index bd2b665b06ca8ddd8b1bfb8f55da6b8a11cabf05..263336d99e2e213d3561b5aa3520ef416033f358 100644 (file)
@@ -3216,7 +3216,7 @@ static size_t preload_try_strip_filename(zend_string *filename) {
        if (ZSTR_LEN(filename) > sizeof(" eval()'d code")
                && *(ZSTR_VAL(filename) + ZSTR_LEN(filename) - sizeof(" eval()'d code")) == ':') {
                const char *cfilename = ZSTR_VAL(filename);
-               size_t cfilenamelen = ZSTR_LEN(filename) - sizeof(" eval()'d code") - 2 /* :*/;
+               size_t cfilenamelen = ZSTR_LEN(filename) - sizeof(" eval()'d code") - 1 /*:*/;
                while (cfilenamelen && cfilename[--cfilenamelen] != '(');
                return cfilenamelen;
        }