aboutsummaryrefslogtreecommitdiff
path: root/ext/misc/fileio.c
diff options
context:
space:
mode:
authordrh <>2021-12-16 17:35:27 +0000
committerdrh <>2021-12-16 17:35:27 +0000
commit621a5e0c478677b938a992ee88a847a9281306fd (patch)
tree15ab772ae4f0c604063c9be038aaf3783d6bdbeb /ext/misc/fileio.c
parentaca5e49caad9819cc09c26cd4a5ecf6e02a1e02e (diff)
downloadsqlite-621a5e0c478677b938a992ee88a847a9281306fd.tar.gz
sqlite-621a5e0c478677b938a992ee88a847a9281306fd.zip
New defenses against OOM and corrupt database problems in the CLI.
FossilOrigin-Name: 5c9fd7fde16d8e335488b8bf5c691961d2636201b034d1f29d25de8708de291d
Diffstat (limited to 'ext/misc/fileio.c')
-rw-r--r--ext/misc/fileio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ext/misc/fileio.c b/ext/misc/fileio.c
index c9988f607..7cdbd5968 100644
--- a/ext/misc/fileio.c
+++ b/ext/misc/fileio.c
@@ -368,10 +368,11 @@ static int writeFile(
mode_t mode, /* MODE parameter passed to writefile() */
sqlite3_int64 mtime /* MTIME parameter (or -1 to not set time) */
){
+ if( zFile==0 ) return 1;
#if !defined(_WIN32) && !defined(WIN32)
if( S_ISLNK(mode) ){
const char *zTo = (const char*)sqlite3_value_text(pData);
- if( symlink(zTo, zFile)<0 ) return 1;
+ if( zTo==0 || symlink(zTo, zFile)<0 ) return 1;
}else
#endif
{