diff --git a/ext/qrf/qrf.c b/ext/qrf/qrf.c index cd896e949c..9877c9ff1e 100644 --- a/ext/qrf/qrf.c +++ b/ext/qrf/qrf.c @@ -3122,7 +3122,8 @@ static void qrfFinalize(Qrf *p){ qrfOom(p); }else{ p->spec.pzOutput[0] = zCombined; - memcpy(zCombined+sz, sqlite3_str_value(p->pOut), n+1); + if( n ) memcpy(zCombined+sz, sqlite3_str_value(p->pOut), n); + zCombined[sz+n] = 0; } sqlite3_str_free(p->pOut); }else{ diff --git a/manifest b/manifest index 26a604a6c7..e4a2b93c12 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Correctly\shandle\saggregate\sfunctions\sthat\saggregate\sover\sthe\srows\sof\sa\swindow\sfunction\squery,\seven\sif\sthey\sare\snested\swithin\ssub-selects.\sReport\s[bugs:/info/2026-10-16T08:07:09Z\s|\s2026-10-16T08:07:09Z]. -D 2026-10-20T14:07:59.158 +C Fix\sQRF\sso\sthat\sit\scorrectly\shandles\szero-length\soutput\sappended\sto\nthe\ssqlite3_qrf_spec.pzOutput\sresult.\n[bugs:/info/2026-10-20T13:22:11Z|/info/2026-10-20T13:22:11Z] +D 2026-10-20T14:36:09.344 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -425,7 +425,7 @@ F ext/misc/zipfile.c 54bd61f1d80a170dde6c15e6eee790ff89a0acbe3bf57e9d63eba6e3414 F ext/misc/zorder.c bddff2e1b9661a90c95c2a9a9c7ecd8908afab5763256294dd12d609d4664eee F ext/qrf/README.md 394a70c5cda1d0f57c82434751b0174a594b1c8800c8584fad6091e867cd5a90 F ext/qrf/dev-notes.md e68a6d91ce4c7eb296ef2daadc2bb79c95c317ad15b9fafe40850c67b29c2430 -F ext/qrf/qrf.c 61b756cad31024165f3980f98f1b3a131e02eb8a6dfc53e85b6c488a7b6f5fc9 +F ext/qrf/qrf.c 7b5896f5c3cdd10d1a4aa91306a7fbaeb94f2e0dd6f0b7a75aa93639c405f3f9 F ext/qrf/qrf.h b04e50048695aa4a5a41577fb4a56c1feed0bef816354995713116780a4bdacb F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8 F ext/rbu/rbu1.test 25870dd7db7eb5597e2b4d6e29e7a7e095abf332660f67d89959552ce8f8f255 @@ -1601,7 +1601,7 @@ F test/printf2.test 3f55c1871a5a65507416076f6eb97e738d5210aeda7595a74ee895f2224c F test/progress.test ebab27f670bd0d4eb9d20d49cef96e68141d92fb F test/ptrchng.test ef1aa72d6cf35a2bbd0869a649b744e9d84977fc F test/pushdown.test 46a626ef1c0ca79b85296ff2e078b9da20a50e9b804b38f441590c3987580ddd -F test/qrf01.test 0f73b280d5bc367f294a8562c93e35e39687a26a63f00d1db1f2032ceae9a30a +F test/qrf01.test 9a53a00e17aa31001ecb0a8f41788135a6419aa854f9b69ef7f0506dc7e98034 F test/qrf02.test 39b4afdc000bedccdafc0aecf17638df67a67aaa2d2942865ae6abcc48ba0e92 F test/qrf03.test e7efe46d204671726b4707585126cd78d107368de4a7d0c7b8d5157cdd8624ed F test/qrf04.test 0894692c998d2401dcc33449c02051b503ecce0c94217be54fb007c82d2d1379 @@ -2287,8 +2287,8 @@ F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c -P 2fdd752dc92692e08c805eb10bf78d97e93c8436433c8175fbff310513f340d7 -R 8853bfb7529eba79f848109b3f25e41a -U dan -Z 0c52888c8f52d7499ce6e91f05521555 +P 7522512ff96d869c46596e7d514b65f210530db09e6359c2f37911d45f34979d +R 9017fa2532ce7281250a30e853ca1f06 +U drh +Z fbfb787e30bfe574313aad2612351733 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index b365ea92ab..9a22716067 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7522512ff96d869c46596e7d514b65f210530db09e6359c2f37911d45f34979d +ee344fc063ec0de8f1cd4c61c88eca33c2587c52d868202db3c514f0bc2fae52 diff --git a/test/qrf01.test b/test/qrf01.test index 5d0e6889dc..1b2d4454a2 100644 --- a/test/qrf01.test +++ b/test/qrf01.test @@ -1460,6 +1460,10 @@ do_test 14.7 { db format -style list -columnsep { } -fpfmt {} {SELECT 100, 2.5} } {100 2.5} +# Bug 2026-10-20T13:22:11Z +do_test 15.0 { + db format -style list {SELECT 1 WHERE 0; SELECT 1 WHERE 0;} +} {} db close