From: drh Date: Sat, 1 Oct 2016 11:39:53 +0000 (+0000) Subject: Avoid accessing Vdbe.pc if it is uninitialized. Check Vdbe.magic first. X-Git-Tag: version-3.15.0~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=76336d5b9dc8ba68b0f382ee0ecccfa83a550276;p=thirdparty%2Fsqlite.git Avoid accessing Vdbe.pc if it is uninitialized. Check Vdbe.magic first. FossilOrigin-Name: 6ac6e4462a08cb2f3d28e4a23218fc1b110a2148 --- diff --git a/manifest b/manifest index 7526f661e6..94a65b314b 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Avoid\sunnecessary\szeroing\sof\sfields\sin\sthe\sVdbe\sobject\swhen\sit\sis\sallocated. -D 2016-10-01T00:37:50.922 +C Avoid\saccessing\sVdbe.pc\sif\sit\sis\suninitialized.\s\sCheck\sVdbe.magic\sfirst. +D 2016-10-01T11:39:53.849 F Makefile.in 6fd48ffcf7c2deea7499062d1f3747f986c19678 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 5151cc64c4c05f3455f4f692ad11410a810d937f @@ -456,7 +456,7 @@ F src/vacuum.c 913970b9d86dd6c2b8063ef1af421880f1464ec3 F src/vdbe.c 51e754eec26d892abc6279f5e949545af68ec1b3 F src/vdbe.h c044be7050ac6bf596eecc6ab159f5dbc020a3b7 F src/vdbeInt.h 0a18713d0a2fec6807d076bd333d9bf3e57530cd -F src/vdbeapi.c 794f80669e9e3b9b3edc78d80c15968985c7bf21 +F src/vdbeapi.c 8272f9342c39ab8d7eb4b9decc6caa7bc75b7d83 F src/vdbeaux.c 4c0678a2a2c315534a2609de515d04cccf3990fb F src/vdbeblob.c 3e82a797b60c3b9fed7b8de8c539ca7607874937 F src/vdbemem.c 1c330522e6b6e4ddd2ff63c4c0dfafa20c3965a7 @@ -1525,7 +1525,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 63cf7eafae5c3c1379edf416c5157010c7c120b5 -R 85f9a9479e2ad57a2952b90cd8e20395 +P 1e21bbe836539e64d24857f4faa3d12cd607dc7e +R 0e838f96f4e792052b29d3f66ffac855 U drh -Z e3416eaec67cf3f8ba5f96a2088d495d +Z 89ce8b8482fb3b1340ca860c8bea3989 diff --git a/manifest.uuid b/manifest.uuid index 2c3cf85d9a..e25e15e20e 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1e21bbe836539e64d24857f4faa3d12cd607dc7e \ No newline at end of file +6ac6e4462a08cb2f3d28e4a23218fc1b110a2148 \ No newline at end of file diff --git a/src/vdbeapi.c b/src/vdbeapi.c index e37eeef2af..5956943af0 100644 --- a/src/vdbeapi.c +++ b/src/vdbeapi.c @@ -1569,7 +1569,7 @@ int sqlite3_stmt_readonly(sqlite3_stmt *pStmt){ */ int sqlite3_stmt_busy(sqlite3_stmt *pStmt){ Vdbe *v = (Vdbe*)pStmt; - return v!=0 && v->pc>=0 && v->magic==VDBE_MAGIC_RUN; + return v!=0 && v->magic==VDBE_MAGIC_RUN && v->pc>=0; } /*