mirror of
https://github.com/Cisco-Talos/clamav.git
synced 2025-10-19 18:33:16 +00:00

Bounds checks were too strict, causing the bytecode to abort when it shouldn't. This happened when trying to access the last byte of an array, the verifier was too conservative and considered to be out of bounds, when in fact it wasn't. This is an update of the runtime verifier from the bytecode compiler.
10 lines
254 B
C++
10 lines
254 B
C++
#include "llvm/Support/raw_ostream.h"
|
|
namespace llvm {
|
|
class Function;
|
|
class Instruction;
|
|
class Pass;
|
|
}
|
|
namespace ClamBCModule {
|
|
void stop(const char *msg, llvm::Function* F, llvm::Instruction* I=0);
|
|
}
|
|
llvm::Pass *createClamBCRTChecks();
|