From f9cec029c84bc8817495a8523dbd9375f01f4c73 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Fri, 4 Jun 2004 15:26:54 +0000 Subject: Fixed bug #28632 (Prevent open_basedir bypass in MySQL's LOAD DATA LOCAL). --- ext/mysql/php_mysql.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ext/mysql/php_mysql.c') diff --git a/ext/mysql/php_mysql.c b/ext/mysql/php_mysql.c index 093a2723ea..11dae41632 100644 --- a/ext/mysql/php_mysql.c +++ b/ext/mysql/php_mysql.c @@ -598,6 +598,11 @@ static void php_mysql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) WRONG_PARAM_COUNT; break; } + /* disable local infile option for open_basedir */ + if (PG(open_basedir) && strlen(PG(open_basedir)) && (client_flags & CLIENT_LOCAL_FILES)) { + client_flags ^= CLIENT_LOCAL_FILES; + } + if (z_host) { SEPARATE_ZVAL(z_host); /* We may modify z_host if it contains a port, separate */ convert_to_string_ex(z_host); -- cgit v1.2.1