From 85f37eba161481283986e63e936de05396b0dfcc Mon Sep 17 00:00:00 2001 From: drh <> Date: Fri, 23 May 2025 20:50:49 +0000 Subject: [PATCH] Limit JSON recursion depth to 500 when running ASAN in fuzzcheck, to prevent stack overflow on ARM64. FossilOrigin-Name: 5e96e177a040b46aa55492037ce5dc71ab49d66b45659d739f2ee6c3042f16ef --- main.mk | 2 +- manifest | 12 ++++++------ manifest.uuid | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/main.mk b/main.mk index 53c0abb704..9f5cdbc363 100644 --- a/main.mk +++ b/main.mk @@ -2230,7 +2230,7 @@ fuzzy: fuzzcheck$(T.exe) xbin: fuzzcheck$(T.exe) # -fsanitize=... flags for fuzzcheck-asan. -CFLAGS.fuzzcheck-asan.fsanitize ?= -fsanitize=address +CFLAGS.fuzzcheck-asan.fsanitize ?= -fsanitize=address -DSQLITE_JSON_MAX_DEPTH=500 fuzzcheck-asan$(T.exe): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h $(FUZZCHECK_DEP) $(T.link) -o $@ $(CFLAGS.fuzzcheck-asan.fsanitize) $(FUZZCHECK_OPT) $(FUZZCHECK_SRC) \ diff --git a/manifest b/manifest index d6b70acb60..323496be19 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sthe\s--osmalloc\soption\sto\sthe\stest/speedtest.tcl\stesting\sscript.\nAdjust\s./configure\sso\sthat\sit\sdoes\snot\scheck\sfor\smalloc_usable_size(). -D 2025-05-23T14:52:23.824 +C Limit\sJSON\srecursion\sdepth\sto\s500\swhen\srunning\sASAN\sin\sfuzzcheck,\sto\sprevent\nstack\soverflow\son\sARM64. +D 2025-05-23T20:50:49.436 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@ -709,7 +709,7 @@ F ext/wasm/tests/opfs/sahpool/sahpool-pausing.js f264925cfc82155de38cecb3d204c36 F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61 F ext/wasm/wasmfs.make 68999f5bd8c489239592d59a420f8c627c99169bbd6fa16a404751f757b9f702 F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0 -F main.mk a41fa9e96ef139452d21a9ca5db4561ce053363e04d07da803f5e1cefb44c65e +F main.mk 27d470019d41c4a8d5d4e96245fe5c35f6893128ab5cb62e9d80e98746d69e9b F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421 @@ -2207,8 +2207,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7 F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 3dbde727146d28c316df47c7b5116be7f2476a0a0c893207c2a4ca3ab285cb5e -R 0d48208b49d5cbef94b1e46b984a87ab +P 7e9845433ff26bdc5fe8654281d584394b77e3b206d09669b4468e0271c6eb37 +R 985b752a70ded16a099e22f49321d05a U drh -Z 2201e54bf2c0085b4630769c7de83fef +Z 7fc484b634ef370c5fb76d77121972c0 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 6b6c3f64f8..a90c004d25 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7e9845433ff26bdc5fe8654281d584394b77e3b206d09669b4468e0271c6eb37 +5e96e177a040b46aa55492037ce5dc71ab49d66b45659d739f2ee6c3042f16ef -- 2.47.2