cvs: php-src(PHP_5_2) /ext/com_dotnet com_persist.c /ext/sqlite pdo_sqlite2.c sqlite.c

From: Date: Sat, 16 Sep 2006 18:10:32 +0000
Subject: cvs: php-src(PHP_5_2) /ext/com_dotnet com_persist.c /ext/sqlite pdo_sqlite2.c sqlite.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-40551@lists.php.net to get a copy of this message
iliaa Sat Sep 16 18:10:32 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/sqlite sqlite.c pdo_sqlite2.c /php-src/ext/com_dotnet com_persist.c Log: Added missing validation checks around expand_filepath() http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite/sqlite.c?r1=1.166.2.13.2.3&r2=1.166.2.13.2.4&diff_format=u Index: php-src/ext/sqlite/sqlite.c diff -u php-src/ext/sqlite/sqlite.c:1.166.2.13.2.3 php-src/ext/sqlite/sqlite.c:1.166.2.13.2.4 --- php-src/ext/sqlite/sqlite.c:1.166.2.13.2.3 Thu Jun 15 18:33:09 2006 +++ php-src/ext/sqlite/sqlite.c Sat Sep 16 18:10:32 2006 @@ -17,7 +17,7 @@ | Marcus Boerger <helly@php.net> | +----------------------------------------------------------------------+ - $Id: sqlite.c,v 1.166.2.13.2.3 2006/06/15 18:33:09 dmitry Exp $ + $Id: sqlite.c,v 1.166.2.13.2.4 2006/09/16 18:10:32 iliaa Exp $ */ #ifdef HAVE_CONFIG_H @@ -1133,7 +1133,7 @@ { php_info_print_table_start(); php_info_print_table_header(2, "SQLite support", "enabled"); - php_info_print_table_row(2, "PECL Module version", PHP_SQLITE_MODULE_VERSION " $Id: sqlite.c,v 1.166.2.13.2.3 2006/06/15 18:33:09 dmitry Exp $"); + php_info_print_table_row(2, "PECL Module version", PHP_SQLITE_MODULE_VERSION " $Id: sqlite.c,v 1.166.2.13.2.4 2006/09/16 18:10:32 iliaa Exp $"); php_info_print_table_row(2, "SQLite Library", sqlite_libversion()); php_info_print_table_row(2, "SQLite Encoding", sqlite_libencoding()); php_info_print_table_end(); @@ -1237,13 +1237,13 @@ if (strncmp(filename, ":memory:", sizeof(":memory:") - 1)) { /* resolve the fully-qualified path name to use as the hash key */ - fullpath = expand_filepath(filename, NULL TSRMLS_CC); - - if (PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { + if (!(fullpath = expand_filepath(filename, NULL TSRMLS_CC))) { RETURN_FALSE; } - if (php_check_open_basedir(fullpath TSRMLS_CC)) { + if ((PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || + php_check_open_basedir(fullpath TSRMLS_CC)) { + efree(fullpath); RETURN_FALSE; } } else { @@ -1313,11 +1313,8 @@ if (strncmp(filename, ":memory:", sizeof(":memory:") - 1)) { /* resolve the fully-qualified path name to use as the hash key */ - fullpath = expand_filepath(filename, NULL TSRMLS_CC); - - if (PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { + if (!(fullpath = expand_filepath(filename, NULL TSRMLS_CC))) { php_std_error_handling(); - efree(fullpath); if (object) { RETURN_NULL(); } else { @@ -1325,7 +1322,8 @@ } } - if (php_check_open_basedir(fullpath TSRMLS_CC)) { + if ((PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || + php_check_open_basedir(fullpath TSRMLS_CC)) { php_std_error_handling(); efree(fullpath); if (object) { @@ -1334,7 +1332,6 @@ RETURN_FALSE; } } - } php_sqlite_open(fullpath ? fullpath : filename, (int)mode, NULL, return_value, errmsg, object TSRMLS_CC); @@ -1368,15 +1365,13 @@ if (strncmp(filename, ":memory:", sizeof(":memory:") - 1)) { /* resolve the fully-qualified path name to use as the hash key */ - fullpath = expand_filepath(filename, NULL TSRMLS_CC); - - if (PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { - efree(fullpath); + if (!(fullpath = expand_filepath(filename, NULL TSRMLS_CC))) { php_std_error_handling(); RETURN_NULL(); } - if (php_check_open_basedir(fullpath TSRMLS_CC)) { + if ((PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || + php_check_open_basedir(fullpath TSRMLS_CC)) { efree(fullpath); php_std_error_handling(); RETURN_NULL(); http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite/pdo_sqlite2.c?r1=1.6.2.3&r2=1.6.2.3.2.1&diff_format=u Index: php-src/ext/sqlite/pdo_sqlite2.c diff -u php-src/ext/sqlite/pdo_sqlite2.c:1.6.2.3 php-src/ext/sqlite/pdo_sqlite2.c:1.6.2.3.2.1 --- php-src/ext/sqlite/pdo_sqlite2.c:1.6.2.3 Sun Jan 1 12:50:14 2006 +++ php-src/ext/sqlite/pdo_sqlite2.c Sat Sep 16 18:10:32 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_sqlite2.c,v 1.6.2.3 2006/01/01 12:50:14 sniper Exp $ */ +/* $Id: pdo_sqlite2.c,v 1.6.2.3.2.1 2006/09/16 18:10:32 iliaa Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -518,6 +518,10 @@ if (strncmp(filename, ":memory:", sizeof(":memory:")-1)) { char *fullpath = expand_filepath(filename, NULL TSRMLS_CC); + if (!fullpath) { + return NULL; + } + if (PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { efree(fullpath); return NULL; http://cvs.php.net/viewvc.cgi/php-src/ext/com_dotnet/com_persist.c?r1=1.5.2.3&r2=1.5.2.3.2.1&diff_format=u Index: php-src/ext/com_dotnet/com_persist.c diff -u php-src/ext/com_dotnet/com_persist.c:1.5.2.3 php-src/ext/com_dotnet/com_persist.c:1.5.2.3.2.1 --- php-src/ext/com_dotnet/com_persist.c:1.5.2.3 Wed Mar 29 14:28:41 2006 +++ php-src/ext/com_dotnet/com_persist.c Sat Sep 16 18:10:32 2006 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: com_persist.c,v 1.5.2.3 2006/03/29 14:28:41 tony2001 Exp $ */ +/* $Id: com_persist.c,v 1.5.2.3.2.1 2006/09/16 18:10:32 iliaa Exp $ */ /* Infrastructure for working with persistent COM objects. * Implements: IStream* wrapper for PHP streams. @@ -390,15 +390,16 @@ if (filename) { fullpath = expand_filepath(filename, NULL TSRMLS_CC); - - if (PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { + if (!fullpath) { RETURN_FALSE; } - - if (php_check_open_basedir(fullpath TSRMLS_CC)) { + + if ((PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || + php_check_open_basedir(fullpath TSRMLS_CC)) { + efree(fullpath); RETURN_FALSE; } - + olefilename = php_com_string_to_olestring(filename, strlen(fullpath), helper->codepage TSRMLS_CC); efree(fullpath); } @@ -452,13 +453,13 @@ return; } - fullpath = expand_filepath(filename, NULL TSRMLS_CC); - - if (PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { + if (!(fullpath = expand_filepath(filename, NULL TSRMLS_CC))) { RETURN_FALSE; } - if (php_check_open_basedir(fullpath TSRMLS_CC)) { + if ((PG(safe_mode) && (!php_checkuid(fullpath, NULL, CHECKUID_CHECK_FILE_AND_DIR))) || + php_check_open_basedir(fullpath TSRMLS_CC)) { + efree(fullpath); RETURN_FALSE; }

« previous php.cvs (#40551) next »