From: Ilia Alshanetsky Date: Fri, 4 Jun 2004 15:26:54 +0000 (+0000) Subject: Fixed bug #28632 (Prevent open_basedir bypass in MySQL's LOAD DATA LOCAL). X-Git-Tag: php-5.0.0RC3~24 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f9cec029c84bc8817495a8523dbd9375f01f4c73;p=php Fixed bug #28632 (Prevent open_basedir bypass in MySQL's LOAD DATA LOCAL). --- 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);