--- embedaddon/php/ext/odbc/php_odbc.c 2012/02/21 23:47:59 1.1 +++ embedaddon/php/ext/odbc/php_odbc.c 2012/05/29 12:34:41 1.1.1.2 @@ -20,7 +20,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_odbc.c,v 1.1 2012/02/21 23:47:59 misho Exp $ */ +/* $Id: php_odbc.c,v 1.1.1.2 2012/05/29 12:34:41 misho Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1317,18 +1317,12 @@ PHP_FUNCTION(odbc_execute) if (Z_STRLEN_PP(tmp) > 2 && Z_STRVAL_PP(tmp)[0] == '\'' && Z_STRVAL_PP(tmp)[Z_STRLEN_PP(tmp) - 1] == '\'') { - if (strlen(tmp) != Z_STRLEN_PP(tmp)) { + + if (CHECK_ZVAL_NULL_PATH(*tmp)) { RETURN_FALSE; } - filename = estrndup(&Z_STRVAL_PP(tmp)[1], Z_STRLEN_PP(tmp) - 2); - - /* Check for safe mode. */ - if (PG(safe_mode) && (!php_checkuid(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR))) { - efree(filename); - efree(params); - RETURN_FALSE; - } + filename[strlen(filename)] = '\0'; /* Check the basedir */ if (php_check_open_basedir(filename TSRMLS_CC)) {