mirror of https://github.com/Cisco-Talos/clamav
Fix load of multiple unsigned bytecodes (bb #1924)
All bytecode functions are loaded in a single module, the bounds verifier is run, and then stack protectors are inserted. The problem is that when the next bytecode function is loaded, all functions get run through the verifier again (including those which got the stack protector applied), and the bounds verifier rejects it (it doesn't know about stack protectors). The fix is to skip running the bounds verifier when a function already has the stack protector applied, when run in libclamav. This affects only loading of multiple unsigned bytecodes, or an unsigned bytecode + bytecode.cvd. Load of a single unsigned bytecode works, and load of multiple signed bytecodes is not affected (since the verifier is skipped there).0.96
parent
ecdd4de7d3
commit
2f995d9abc
Loading…
Reference in new issue