From 84c9050805f7e241cae3cdc76382b74e9d8fce55 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Tue, 10 Jul 2007 17:42:29 +0000 Subject: [PATCH] check if write is allowed before writing to error log --- main/main.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/main/main.c b/main/main.c index ad86c7ad15..ee70a04f88 100644 --- a/main/main.c +++ b/main/main.c @@ -356,6 +356,14 @@ PHPAPI void php_log_err(char *log_message TSRMLS_DC) return; } #endif + if (PG(safe_mode) && (!php_checkuid(PG(error_log), NULL, CHECKUID_CHECK_FILE_AND_DIR))) { + return FAILURE; + } + + if (PG(open_basedir) && php_check_open_basedir(PG(error_log) TSRMLS_CC)) { + return FAILURE; + } + fd = VCWD_OPEN_MODE(PG(error_log), O_CREAT | O_APPEND | O_WRONLY, 0644); if (fd != -1) { char *tmp; -- 2.40.0