diff options
author | Shantonu Sen <ssen@apple.com> | 2011-04-05 18:40:45 +0000 |
---|---|---|
committer | Shantonu Sen <ssen@apple.com> | 2011-04-05 18:40:45 +0000 |
commit | e59f8ca49e0d2c2e2d9761b1dd15eaf59a6e5558 (patch) | |
tree | 9590b11b9a1a40579f491bce740ad7d168cd4c87 /llvm/lib/MC/MCDisassembler/EDDisassembler.cpp | |
parent | d9dce561b668525f647cb1c3bafdabc265806f8c (diff) | |
download | bcm5719-llvm-e59f8ca49e0d2c2e2d9761b1dd15eaf59a6e5558.tar.gz bcm5719-llvm-e59f8ca49e0d2c2e2d9761b1dd15eaf59a6e5558.zip |
An MCDisassembler has the option to not implement
getEDInfo(), in which case this code would dereference
NULL. EDInst can already handle NULL info, so avoid
the dereference and pass NULL through.
Reviewed by Sean Callanan
llvm-svn: 128904
Diffstat (limited to 'llvm/lib/MC/MCDisassembler/EDDisassembler.cpp')
-rw-r--r-- | llvm/lib/MC/MCDisassembler/EDDisassembler.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp b/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp index f679647dd85..e36b3a4e59a 100644 --- a/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp +++ b/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp @@ -254,9 +254,11 @@ EDInst *EDDisassembler::createInst(EDByteReaderCallback byteReader, delete inst; return NULL; } else { - const llvm::EDInstInfo *thisInstInfo; + const llvm::EDInstInfo *thisInstInfo = NULL; - thisInstInfo = &InstInfos[inst->getOpcode()]; + if (InstInfos) { + thisInstInfo = &InstInfos[inst->getOpcode()]; + } EDInst* sdInst = new EDInst(inst, byteSize, *this, thisInstInfo); return sdInst; |