derick Fri Feb 4 09:28:50 2005 EDT Added files: /php-src/ext/dbase/tests bug31754.phpt
Modified files: /php-src/ext/dbase dbase.c Log: - Fixed bug #31754 (dbase_open() fails for mode = 1). (Mehdi, Derick) http://cvs.php.net/diff.php/php-src/ext/dbase/dbase.c?r1=1.72&r2=1.73&ty=u Index: php-src/ext/dbase/dbase.c diff -u php-src/ext/dbase/dbase.c:1.72 php-src/ext/dbase/dbase.c:1.73 --- php-src/ext/dbase/dbase.c:1.72 Thu Jan 8 03:15:07 2004 +++ php-src/ext/dbase/dbase.c Fri Feb 4 09:28:50 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dbase.c,v 1.72 2004/01/08 08:15:07 andi Exp $ */ +/* $Id: dbase.c,v 1.73 2005/02/04 14:28:50 derick Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -129,6 +129,11 @@ convert_to_string_ex(dbf_name); convert_to_long_ex(options); + if (Z_LVAL_PP(options) == 1) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot open %s in write-only mode", Z_STRVAL_PP(dbf_name)); + RETURN_FALSE; + } + if (PG(safe_mode) && (!php_checkuid(Z_STRVAL_PP(dbf_name), NULL, CHECKUID_CHECK_FILE_AND_DIR))) { RETURN_FALSE; } http://cvs.php.net/co.php/php-src/ext/dbase/tests/bug31754.phpt?r=1.1&p=1 Index: php-src/ext/dbase/tests/bug31754.phpt +++ php-src/ext/dbase/tests/bug31754.phpt --TEST-- Bug #31754: (dbase_open() fails for mode = 1) --SKIPIF-- <?php if (!extension_loaded('dbase')) { die('skip dbase extension not available'); } ?> --FILE-- <?php // database "definition" $def = array( array("foo", "L") ); // creation $dbh = dbase_create('/tmp/bug31754.dbf', array(array('foo', 'L'))); dbase_close($dbh); $dbh = dbase_open('/tmp/bug31754.dbf', 1); unlink('/tmp/bug31754.dbf'); ?> --EXPECTF-- Warning: dbase_open(): Cannot open /tmp/bug31754.dbf in write-only mode in %sbug31754.php on line %d -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php