From c1bbcc035f420696535ec8060848bb2086fa5d68 Mon Sep 17 00:00:00 2001 From: johnstevenson Date: Fri, 1 Feb 2019 19:45:20 +0000 Subject: [PATCH 1/2] Fix #77552: Uninitialized buffer in stat functions --- ext/standard/tests/file/bug77552.phpt | 32 +++++++++++++++++++++++++++ main/streams/streams.c | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 ext/standard/tests/file/bug77552.phpt diff --git a/ext/standard/tests/file/bug77552.phpt b/ext/standard/tests/file/bug77552.phpt new file mode 100644 index 0000000000000..07913a72e197d --- /dev/null +++ b/ext/standard/tests/file/bug77552.phpt @@ -0,0 +1,32 @@ +--TEST-- +Bug #77552 Unintialized php_stream_statbuf in stat functions +--SKIPIF-- + +--FILE-- + +--CLEAN-- + +--EXPECT-- +int(0) diff --git a/main/streams/streams.c b/main/streams/streams.c index 3cf0c7ec97b86..9daae574337a1 100644 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -1887,6 +1887,8 @@ PHPAPI int _php_stream_stat_path(const char *path, int flags, php_stream_statbuf const char *path_to_open = path; int ret; + memset(ssb, 0, sizeof(*ssb)); + if (!(flags & PHP_STREAM_URL_STAT_NOCACHE)) { /* Try to hit the cache first */ if (flags & PHP_STREAM_URL_STAT_LINK) { From 0b82caca0f16d9d9b91c1ee9d28c18bc3ce44946 Mon Sep 17 00:00:00 2001 From: johnstevenson Date: Sat, 2 Feb 2019 11:23:19 +0000 Subject: [PATCH 2/2] Test nit --- ext/standard/tests/file/bug77552.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/standard/tests/file/bug77552.phpt b/ext/standard/tests/file/bug77552.phpt index 07913a72e197d..9404b8e09fb2e 100644 --- a/ext/standard/tests/file/bug77552.phpt +++ b/ext/standard/tests/file/bug77552.phpt @@ -3,7 +3,7 @@ Bug #77552 Unintialized php_stream_statbuf in stat functions --SKIPIF-- --FILE--