1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-11 01:42:22 +03:00

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
This commit is contained in:
dan
2010-10-21 15:12:44 +00:00
parent 3edd8a555d
commit 06b5db0e39
6 changed files with 38 additions and 24 deletions

View File

@@ -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);