aboutsummaryrefslogtreecommitdiff
path: root/src/test_multiplex.c
diff options
context:
space:
mode:
authorshaneh <shaneh@noemail.net>2010-11-05 03:58:58 +0000
committershaneh <shaneh@noemail.net>2010-11-05 03:58:58 +0000
commite5a6ad6d6378c019734a7169c2fc931e7dee16f2 (patch)
tree42868d5de7a6e9aa8b4217f9a92ea7f09a8bc2d8 /src/test_multiplex.c
parentfd1552f2690518ba83adb915327ded6e3240d629 (diff)
downloadsqlite-e5a6ad6d6378c019734a7169c2fc931e7dee16f2.tar.gz
sqlite-e5a6ad6d6378c019734a7169c2fc931e7dee16f2.zip
Additional error checking and tests.
FossilOrigin-Name: 1ab9a59237bed6d03b55153a67588486f9adc67b
Diffstat (limited to 'src/test_multiplex.c')
-rw-r--r--src/test_multiplex.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/test_multiplex.c b/src/test_multiplex.c
index e002c78bd..c21ea7668 100644
--- a/src/test_multiplex.c
+++ b/src/test_multiplex.c
@@ -341,7 +341,7 @@ static int multiplexTruncate(sqlite3_file *pConn, sqlite3_int64 size){
rc2 = pSubOpen->pMethods->xClose(pSubOpen);
if( rc2!=SQLITE_OK ) rc = SQLITE_IOERR_TRUNCATE;
}
- if( i ) sqlite3_snprintf(pGroup->nName+6, pGroup->zName+pGroup->nName, "-%04d", i);
+ sqlite3_snprintf(pGroup->nName+6, pGroup->zName+pGroup->nName, "-%04d", i);
rc2 = pOrigVfs->xDelete(pOrigVfs, pGroup->zName, 0);
if( rc2!=SQLITE_OK ) rc = SQLITE_IOERR_TRUNCATE;
}
@@ -638,6 +638,8 @@ int sqlite3_multiplex_set(
){
if( !gMultiplex.isInitialized ) return SQLITE_MISUSE;
if( gMultiplex.pGroups ) return SQLITE_MISUSE;
+ if( nChunkSize<32 ) return SQLITE_MISUSE;
+ if( nMaxChunks<1 ) return SQLITE_MISUSE;
if( nMaxChunks>SQLITE_MULTIPLEX_MAX_CHUNKS ) return SQLITE_MISUSE;
multiplexEnter();
gMultiplex.nChunkSize = nChunkSize;
@@ -732,11 +734,6 @@ static int test_multiplex_set(
if( Tcl_GetIntFromObj(interp, objv[1], &nChunkSize) ) return TCL_ERROR;
if( Tcl_GetIntFromObj(interp, objv[2], &nMaxChunks) ) return TCL_ERROR;
- if( nMaxChunks>SQLITE_MULTIPLEX_MAX_CHUNKS ){
- Tcl_WrongNumArgs(interp, 1, objv, "MAX_CHUNKS > SQLITE_MULTIPLEX_MAX_CHUNKS");
- return TCL_ERROR;
- }
-
/* Invoke sqlite3_multiplex_set() */
rc = sqlite3_multiplex_set(nChunkSize, nMaxChunks);