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 <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
- $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;
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php