if( zTempUtf8 ){
int nOut = *pnOut;
int nLen = strlen(zTempUtf8) + 1;
- if( nLen>=nOut ){
- lsmFree(pEnv, zTempUtf8);
- return LSM_IOERR_BKPT;
+ if( nLen<=nOut ){
+ snprintf(zOut, nOut, "%s", zTempUtf8);
}
- snprintf(zOut, nOut, "%s", zTempUtf8);
lsmFree(pEnv, zTempUtf8);
*pnOut = nLen;
return LSM_OK;
assert( sz==LSM_SHM_CHUNK_SIZE );
if( iChunk>=pWin32File->nShm ){
int i;
- void **apNew;
+ LPHANDLE ahNew;
+ LPVOID *apNew;
int nNew = iChunk+1;
lsm_i64 nReq = nNew * sz;
LARGE_INTEGER fileSize;
}
}
+ ahNew = (void **)lsmRealloc(pWin32File->pEnv, pWin32File->ahShm,
+ sizeof(LPHANDLE) * nNew);
+ if( !ahNew ) return LSM_NOMEM_BKPT;
apNew = (void **)lsmRealloc(pWin32File->pEnv, pWin32File->apShm,
sizeof(LPVOID) * nNew);
- if( !apNew ) return LSM_NOMEM_BKPT;
+ if( !apNew ){
+ lsmFree(pWin32File->pEnv, ahNew);
+ return LSM_NOMEM_BKPT;
+ }
for(i=pWin32File->nShm; i<nNew; i++){
+ ahNew[i] = NULL;
apNew[i] = NULL;
}
+ pWin32File->ahShm = ahNew;
pWin32File->apShm = apNew;
pWin32File->nShm = nNew;
}
break;
}
}while( 1 );
+ lsmFree(pWin32File->pEnv, pWin32File->ahShm);
lsmFree(pWin32File->pEnv, pWin32File->apShm);
lsmFree(pWin32File->pEnv, pWin32File);
return rc;
-C Add\sthe\sstmts\svirtual\stable\sto\stestfixture\sbuilds.\s\sAdd\snew\scompile-time\noptions\sSQLITE_ENABLE_QPSG\sand\sSQLITE_ENABLE_STMTSVTAB\sto\sctime.c
-D 2017-06-29T13:41:59.045
+C A\scouple\sfixes\sfor\sthe\sWin32\sinterface\sfor\slsm1.
+D 2017-06-29T14:17:48.990
F Makefile.in 2fde386bd3fca21b89a5f64eaa0c580b25079cd10f6eb9692987a70b7709edc0
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 822979c692e9f1004c3ac36802ad2c130709fe4d111c272d55b8bdeb0261070a
F ext/lsm1/lsm_unix.c ee0201dff10ce2008ef13a65f52a6ea348f287e795270f651596f812fcfccdcc
F ext/lsm1/lsm_varint.c b19ae9bd26b5a1e8402fb8a564b25d9542338a41
F ext/lsm1/lsm_vtab.c fff303ce03168eca9e333add3c1429b3471674b0
-F ext/lsm1/lsm_win32.c bd3f7e82ec71ad09a1487d5b64fbc03e99398dc7e8ec0160b9cd0deb3ce4421c
+F ext/lsm1/lsm_win32.c c7a9e2c6b6465292c27e58a5defb1427181ff7bcfde6f46a4afd6de272a4ef3b
F ext/misc/README.md 8e008c8d2b02e09096b31dfba033253ac27c6c06a18aa5826e299fa7601d90b2
F ext/misc/amatch.c 6db4607cb17c54b853a2d7c7c36046d004853f65b9b733e6f019d543d5dfae87
F ext/misc/anycollseq.c 5ffdfde9829eeac52219136ad6aa7cd9a4edb3b15f4f2532de52f4a22525eddb
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P b7794cc5d5abc13c6301c8d5c1b330405432c047f154083430fd15823221e552
-R 1263a289b329cfabed471001fc5531df
-U drh
-Z 13eea48e6bae5beda0392b0d9ada0310
+P 60c628293a1d8a1505e1a36dbd01b1f62bcfd7915e144044c92385423cbf8e07
+R 6b1172fa5df14c2da55cdce2ba904e67
+U mistachkin
+Z b1cb3cacab6d77553cd0c3ad7148e349
-60c628293a1d8a1505e1a36dbd01b1f62bcfd7915e144044c92385423cbf8e07
\ No newline at end of file
+ebbd98e941d8a8ea97b434c29b70095515af0adab1977aa4d37fe74a7401f846
\ No newline at end of file