In the whereLoopXfer() routine, ensure that the destination is fully
initialized even if an OOM error occurs. FossilOrigin-Name: c4258708c08c5b1956052f9febbf22c1e94c8352a25059063746921d2cc373b7
This commit is contained in:
parent
31536304a5
commit
824043150f
12
manifest
12
manifest
@ -1,5 +1,5 @@
|
|||||||
C The\snew\sOP_Null\sopcode\sfrom\scheck-in\s[8b54102a00852b72]\swas\snot\scoded\ncorrectly.\s\sThis\scheck-in\sattempts\sto\sfix\sthat.
|
C In\sthe\swhereLoopXfer()\sroutine,\sensure\sthat\sthe\sdestination\sis\sfully\ninitialized\seven\sif\san\sOOM\serror\soccurs.
|
||||||
D 2021-04-21T23:13:26.408
|
D 2021-04-22T12:38:30.898
|
||||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||||
@ -629,7 +629,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
|
|||||||
F src/wal.c 69e770e96fd56cc21608992bf2c6f1f3dc5cf2572d0495c6a643b06c3a679f14
|
F src/wal.c 69e770e96fd56cc21608992bf2c6f1f3dc5cf2572d0495c6a643b06c3a679f14
|
||||||
F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
|
F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
|
||||||
F src/walker.c 6e540867a30d81e00205995fa2dc0e3d25365a7402251c9fd5d19aa4ff5e60b6
|
F src/walker.c 6e540867a30d81e00205995fa2dc0e3d25365a7402251c9fd5d19aa4ff5e60b6
|
||||||
F src/where.c 1c305bab0996a63219a6cb3d4718587f3a5dc5608120c4448985aa2bef88b7f5
|
F src/where.c cb76c17d0bded653040cb16e2f4532fa7b20f5f8c205f4078d346562821107a2
|
||||||
F src/whereInt.h 446e5e8018f83358ef917cf32d8e6a86dc8430113d0b17e720f1839d3faa44c4
|
F src/whereInt.h 446e5e8018f83358ef917cf32d8e6a86dc8430113d0b17e720f1839d3faa44c4
|
||||||
F src/wherecode.c 992bf0d7520bffd345472fb9bc83a1ca0134e46d9e904879bb21e1e77957fcc3
|
F src/wherecode.c 992bf0d7520bffd345472fb9bc83a1ca0134e46d9e904879bb21e1e77957fcc3
|
||||||
F src/whereexpr.c d8cafcf6781cf871082f04d7540862cf0fe30cb381dd1b2145a380376364fe8e
|
F src/whereexpr.c d8cafcf6781cf871082f04d7540862cf0fe30cb381dd1b2145a380376364fe8e
|
||||||
@ -1913,7 +1913,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P 6fe50dcc239d2d1fc2a38aa705f4c75cbe26b3e48d098537306d96d6a4005659
|
P 02af30aab24878c4382a8863512b816889400104549b51df6a632767fee48d04
|
||||||
R c08ea2e3d9f1c824a6f5c3535918762c
|
R 3d8464626ec4ed7160b5e3f3b7bf199b
|
||||||
U drh
|
U drh
|
||||||
Z 1a1da1d17ff339b1b7dc133d35a59f0c
|
Z 9339130783244dccd8482f7c789d5fd4
|
||||||
|
@ -1 +1 @@
|
|||||||
02af30aab24878c4382a8863512b816889400104549b51df6a632767fee48d04
|
c4258708c08c5b1956052f9febbf22c1e94c8352a25059063746921d2cc373b7
|
@ -1942,7 +1942,7 @@ static int whereLoopResize(sqlite3 *db, WhereLoop *p, int n){
|
|||||||
static int whereLoopXfer(sqlite3 *db, WhereLoop *pTo, WhereLoop *pFrom){
|
static int whereLoopXfer(sqlite3 *db, WhereLoop *pTo, WhereLoop *pFrom){
|
||||||
whereLoopClearUnion(db, pTo);
|
whereLoopClearUnion(db, pTo);
|
||||||
if( whereLoopResize(db, pTo, pFrom->nLTerm) ){
|
if( whereLoopResize(db, pTo, pFrom->nLTerm) ){
|
||||||
memset(&pTo->u, 0, sizeof(pTo->u));
|
memset(pTo, 0, WHERE_LOOP_XFER_SZ);
|
||||||
return SQLITE_NOMEM_BKPT;
|
return SQLITE_NOMEM_BKPT;
|
||||||
}
|
}
|
||||||
memcpy(pTo, pFrom, WHERE_LOOP_XFER_SZ);
|
memcpy(pTo, pFrom, WHERE_LOOP_XFER_SZ);
|
||||||
|
Loading…
Reference in New Issue
Block a user