From: drh Date: Mon, 24 Aug 2015 02:32:04 +0000 (+0000) Subject: Fix corner-case problems in the type and atom columns of json_each() and X-Git-Tag: version-3.9.0~197 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=442a7c601505dc0aec141b1b05450ddb530562e4;p=thirdparty%2Fsqlite.git Fix corner-case problems in the type and atom columns of json_each() and json_tree(). FossilOrigin-Name: f0aba0e120074430cd7ad93291fcc97b8a25a054 --- diff --git a/ext/misc/json1.c b/ext/misc/json1.c index ca22928302..4945826b93 100644 --- a/ext/misc/json1.c +++ b/ext/misc/json1.c @@ -1513,12 +1513,12 @@ static int jsonEachColumn( break; } case JEACH_TYPE: { - if( p->eType==JSON_OBJECT ) pThis++; + if( p->eType==JSON_OBJECT && p->i>0 ) pThis++; sqlite3_result_text(ctx, jsonType[pThis->eType], -1, SQLITE_STATIC); break; } case JEACH_ATOM: { - if( p->eType==JSON_OBJECT ) pThis++; + if( p->eType==JSON_OBJECT && p->i>0 ) pThis++; if( pThis->eType>=JSON_ARRAY ) break; jsonReturn(pThis, ctx, 0); break; diff --git a/manifest b/manifest index b3470ed66a..86f1a81da0 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\scomment\stypo\son\ssqlite3ExprAlloc().\s\sNo\scode\schanges. -D 2015-08-23T20:48:29.272 +C Fix\scorner-case\sproblems\sin\sthe\stype\sand\satom\scolumns\sof\sjson_each()\sand\njson_tree(). +D 2015-08-24T02:32:04.608 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in e2218eb228374422969de7b1680eda6864affcef F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -192,7 +192,7 @@ F ext/misc/eval.c f971962e92ebb8b0a4e6b62949463ee454d88fa2 F ext/misc/fileio.c d4171c815d6543a9edef8308aab2951413cd8d0f F ext/misc/fuzzer.c 4c84635c71c26cfa7c2e5848cf49fe2d2cfcd767 F ext/misc/ieee754.c b0362167289170627659e84173f5d2e8fee8566e -F ext/misc/json1.c 4b66d2ce1dc458e214d0f3663a3870e592484230 +F ext/misc/json1.c 443f8b54b76042112f669c694683f7ecb2512580 F ext/misc/nextchar.c 35c8b8baacb96d92abbb34a83a997b797075b342 F ext/misc/percentile.c bcbee3c061b884eccb80e21651daaae8e1e43c63 F ext/misc/regexp.c af92cdaa5058fcec1451e49becc7ba44dba023dc @@ -1378,7 +1378,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P cc5204149c4053b9e529a72102d8df0925ad1ea1 -R 45301f1702fbfadcb1473edb5c388742 +P 518d6220a12fb1289f699ef0821e6adfcd286ed0 +R d6c92e3d9acd1a46fd49a9ba005fd842 U drh -Z a9752167ae3428587580d2325e13d760 +Z 8270e043900b276b537309af17df590f diff --git a/manifest.uuid b/manifest.uuid index 78f168c777..f0c18aac37 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -518d6220a12fb1289f699ef0821e6adfcd286ed0 \ No newline at end of file +f0aba0e120074430cd7ad93291fcc97b8a25a054 \ No newline at end of file