forked from OSchip/llvm-project
Fix use-of-uninitialized value when RWX memory can't be allocated (PR6701).
SELinux doesn't allow 'execmem', returning MAP_FAILED and 'Permission denied' for mmap or RWX memory. In this case AllocateRWX was returning a MemoryBlock with uninitialized fields, which sometimes caused crashes. This patch initializes MemoryBlock fields to 0, so that the RWX-failure check works. It doesn't fix the SELinux 'execmem' issues though (the JIT will not work when SELinux is in enforcing mode). llvm-svn: 99762
This commit is contained in:
parent
135091bd9d
commit
07f0adc2a6
|
@ -27,7 +27,7 @@ namespace sys {
|
|||
/// @brief Memory block abstraction.
|
||||
class MemoryBlock {
|
||||
public:
|
||||
MemoryBlock() { }
|
||||
MemoryBlock() : Address(0), Size(0) { }
|
||||
MemoryBlock(void *addr, size_t size) : Address(addr), Size(size) { }
|
||||
void *base() const { return Address; }
|
||||
size_t size() const { return Size; }
|
||||
|
|
Loading…
Reference in New Issue