diff options
author | dan <dan@noemail.net> | 2010-10-21 15:12:44 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2010-10-21 15:12:44 +0000 |
commit | 06b5db0e3934d8a3dad7ca44257cb4f3c02b4208 (patch) | |
tree | cfbb65882b304bc2c6fa4378203369f7db4dd964 /src/vdbeblob.c | |
parent | 3edd8a555d4f45e9778fe709c0be6ab3ab9c9a75 (diff) | |
download | sqlite-06b5db0e3934d8a3dad7ca44257cb4f3c02b4208.tar.gz sqlite-06b5db0e3934d8a3dad7ca44257cb4f3c02b4208.zip |
Fix some segfaults that could occur in obscure circumstances where error messages contained characters that could be mistaken for printf format specifiers.
FossilOrigin-Name: f91471e7234db490f97298b1ccb8d6c7fc45b089
Diffstat (limited to 'src/vdbeblob.c')
-rw-r--r-- | src/vdbeblob.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vdbeblob.c b/src/vdbeblob.c index b2b9f0ed0..38587ee56 100644 --- a/src/vdbeblob.c +++ b/src/vdbeblob.c @@ -231,7 +231,7 @@ int sqlite3_blob_open( nAttempt++; rc = sqlite3_finalize((sqlite3_stmt *)v); sqlite3DbFree(db, zErr); - zErr = sqlite3MPrintf(db, sqlite3_errmsg(db)); + zErr = sqlite3MPrintf(db, "%s", sqlite3_errmsg(db)); v = 0; } } while( nAttempt<5 && rc==SQLITE_SCHEMA ); @@ -278,7 +278,7 @@ blob_open_out: if( v && (rc!=SQLITE_OK || db->mallocFailed) ){ sqlite3VdbeFinalize(v); } - sqlite3Error(db, rc, zErr); + sqlite3Error(db, rc, (zErr ? "%s" : 0), zErr); sqlite3DbFree(db, zErr); sqlite3StackFree(db, pParse); rc = sqlite3ApiExit(db, rc); |