cvs: php-src /ext/dbase dbase.c /ext/dbase/tests 002.phpt
| From: | Ilia Alshanetsky | Date: | Fri, 01 Dec 2006 19:10:59 +0000 |
| Subject: | cvs: php-src /ext/dbase dbase.c /ext/dbase/tests 002.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-41821@lists.php.net to get a copy of this message | ||
iliaa Fri Dec 1 19:10:59 2006 UTC
Modified files:
/php-src/ext/dbase dbase.c
/php-src/ext/dbase/tests 002.phpt
Log:
MFB: Fixed a possible memory corruption in dbase_open() with invalid open
mode
http://cvs.php.net/viewvc.cgi/php-src/ext/dbase/dbase.c?r1=1.85&r2=1.86&diff_format=u
Index: php-src/ext/dbase/dbase.c
diff -u php-src/ext/dbase/dbase.c:1.85 php-src/ext/dbase/dbase.c:1.86
--- php-src/ext/dbase/dbase.c:1.85 Wed Nov 22 17:30:52 2006
+++ php-src/ext/dbase/dbase.c Fri Dec 1 19:10:59 2006
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dbase.c,v 1.85 2006/11/22 17:30:52 iliaa Exp $ */
+/* $Id: dbase.c,v 1.86 2006/12/01 19:10:59 iliaa Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -136,7 +136,7 @@
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;
- } else if (Z_LVAL_PP(options) < 0) {
+ } else if (Z_LVAL_PP(options) < 0 || Z_LVAL_PP(options) > 3) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid access mode %ld",
Z_LVAL_PP(options));
RETURN_FALSE;
}
http://cvs.php.net/viewvc.cgi/php-src/ext/dbase/tests/002.phpt?r1=1.3&r2=1.4&diff_format=u
Index: php-src/ext/dbase/tests/002.phpt
diff -u php-src/ext/dbase/tests/002.phpt:1.3 php-src/ext/dbase/tests/002.phpt:1.4
--- php-src/ext/dbase/tests/002.phpt:1.3 Sun Nov 26 16:29:55 2006
+++ php-src/ext/dbase/tests/002.phpt Fri Dec 1 19:10:59 2006
@@ -38,7 +38,7 @@
Warning: dbase_open(): Invalid access mode -1 %s in %s on line %d
bool(false)
-Warning: dbase_open(): unable to open database %s in %s on line %d
+Warning: dbase_open(): Invalid access mode 1000 in %s on line %d
bool(false)
Warning: dbase_open(): unable to open database %s in %s on line %d