diff options
| -rw-r--r-- | NEWS | 1 | ||||
| -rw-r--r-- | ext/sqlite/libsqlite/src/os.c | 6 |
2 files changed, 7 insertions, 0 deletions
@@ -10,6 +10,7 @@ PHP NEWS - Changed SQLite extension to use studlyCaps convention in its OO API. (Marcus) - Changed __construct() to always take precedence over old style constructor. (Dmitry) +- Fixed bug #27928 (sqlite incorrectly handles invalid filenames). (Ilia) - Fixed bug #27821 (xml_parse() segfaults when xml_set_object() is called from class method). (Andi, Rob) - Fixed bug #27742 (WDSL SOAP Parsing Schema bug). (Dmitry) diff --git a/ext/sqlite/libsqlite/src/os.c b/ext/sqlite/libsqlite/src/os.c index 2c57078305..12761bb2a3 100644 --- a/ext/sqlite/libsqlite/src/os.c +++ b/ext/sqlite/libsqlite/src/os.c @@ -34,6 +34,9 @@ # ifndef O_BINARY # define O_BINARY 0 # endif +# ifndef EISDIR +# define EISDIR 21 +# endif #endif @@ -464,6 +467,9 @@ int sqliteOsOpenReadWrite( id->dirfd = -1; id->fd = open(zFilename, O_RDWR|O_CREAT|O_LARGEFILE|O_BINARY, 0644); if( id->fd<0 ){ + if (errno == EISDIR) { + return SQLITE_CANTOPEN; + } id->fd = open(zFilename, O_RDONLY|O_LARGEFILE|O_BINARY); if( id->fd<0 ){ return SQLITE_CANTOPEN; |
