Closed eternalsakura closed 2 years ago
I don’t quite understand one thing, if I don’t use asan to compile
I will get
➜ moddable_workdir git:(main) ~/moddable/build/bin/lin/release/xst poc.js
1
42.2 42.2 x object in middle
42.2 42.2 y object in middle
1
42.2 42.2
42.2 42.2 y array in middle
2
42.2 42.2 x object in middle
42.2 42.2 y object in middle
2
42.2 42.2
42.2 42.2 y array in middle
100
42.2 42.2 x object in middle
42.2 42.2 y object in middle
100
42.2 42.2
42.2 42.2 y array in middle
200
42.2 42.2 x object in middle
42.2 42.2 y object in middle
200
42.2 42.2
42.2 42.2 y array in middle
300
42.2 42.2 x object in middle
42.2 42.2 y object in middle
300
42.2 42.2
42.2 42.2 y array in middle
1000
42.2 42.2 x object in middle
42.2 42.2 y object in middle
1000
42.2 42.2
42.2 42.2 y array in middle
20000
Error: stack overflow function ["RangeError"] (){[native code]}
false
20000
Error: stack overflow function ["RangeError"] (){[native code]}
false
It does prompt me a stack overflow, but I don't understand why, please confirm whether this is a real problem.
I found the fxCheckParserStack function. You check the stack depth and throw an exception through fxReportMemoryError.
But due to asan's recognition error, it still threw a crash for me.
In summary, I think this is not a real problem, but it may indeed affect fuzz testing and introduce false positives.
Do you have any suggestions?
Build environment
poc
asan log