llvm-project/llvm/unittests
Pavel Labath 8f1233699b [llvm/Support] Don't crash on empty nullptr ranges when decoding LEBs
Summary:
If the decoding functions are called with both start and end pointers
being nullptr, the function will crash due to a nullptr dereference.
This happens because the function does not recognise nullptr as a valid
end pointer.

Obviously, nobody is going to pass null pointers here deliberately, but
it can happen indirectly (as it did for me), when calling these
functions on an ArrayRef, as a default-initialized empty ArrayRef will
have both begin() and end() pointers equal to nullptr.

The fix is to simply remove the nullptr check. Passing nullptr for "end"
with a valid "begin" pointer will still work, as one cannot reach
nullptr by incrementing a valid pointer without triggerring UB.

Reviewers: dblaikie

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77304
2020-04-06 14:14:11 +02:00
..
ADT [ADT] Implement the Waymarking as an independent utility 2020-03-31 17:08:24 +03:00
Analysis [ValueTracking] enhance matching of smin/smax with 'not' operands 2020-04-05 08:54:12 -04:00
AsmParser Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
BinaryFormat [PowerPC] Delete PPCMachObjectWriter and powerpc{,64}-apple-darwin 2020-03-05 11:05:26 -08:00
Bitcode Add AutoUpgrade function to add new address space datalayout string to existing datalayouts. 2019-09-18 22:15:58 +00:00
Bitstream [Bitcode] Move Bitstream to a separate library 2019-07-03 22:40:07 +00:00
CodeGen [Alignment][NFC] Use Align version of getMachineMemOperand 2020-03-30 15:46:27 +00:00
DebugInfo Cleanup the plumbing for DILineInfoSpecifier. [NFC - Try 2] 2020-03-20 10:29:57 -07:00
Demangle Update more file headers across all of the LLVM projects in the monorepo 2019-01-19 10:56:40 +00:00
ExecutionEngine [ORC] Introduce JITSymbolFlags::HasMaterializeSideEffectsOnly flag. 2020-03-27 11:02:54 -07:00
Frontend [OpenMP][OMPIRBuilder] Add Directives (master and critical) to OMPBuilder. 2020-02-15 01:15:45 -06:00
FuzzMutate [SVE] Update API ConstantVector::getSplat() to use ElementCount. 2020-03-12 13:22:41 -07:00
IR [NFC] Split Knowledge retention and place it more appropriatly 2020-04-02 15:01:41 +02:00
LineEditor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Linker [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
MC [AMDGPU] Fix PC register mapping in wave32 mode 2020-03-26 14:43:25 -04:00
MI [unittests] Add InitializePasses.h includes 2019-11-13 19:42:58 -08:00
Object [Object][unittest] Skip tests on machines with non-64 bit size_t 2020-03-11 15:31:30 +00:00
ObjectYAML minidump: Add an "arm64" constant 2019-10-31 11:20:46 +01:00
Option Option spell checking: Penalize delimiter flags if input has no argument 2019-05-01 16:45:15 +00:00
Passes Don't export symbols from clang/opt/llc if plugins are disabled. 2020-03-23 12:17:09 -07:00
ProfileData [SampleFDO] Port MD5 name table support to extbinary format. 2020-03-30 22:07:08 -07:00
Remarks [Remarks] Fix error message check in unit test 2019-10-31 15:51:36 -07:00
Support [llvm/Support] Don't crash on empty nullptr ranges when decoding LEBs 2020-04-06 14:14:11 +02:00
TableGen Make unittests include path relative 2020-02-21 10:19:11 +01:00
Target [ARM] Make remaining MVE instruction predictable 2020-04-02 10:57:40 +01:00
TextAPI [llvm][TextAPI] adding inlining reexported libraries support 2020-04-02 13:05:08 -07:00
Transforms [VPlan] Move test strs to variables, silence spurious C4129 (NFC). 2020-03-31 13:18:15 +01:00
XRay Use std::foo_t rather than std::foo in LLVM. 2020-02-11 15:12:51 -08:00
tools Recommit: "[llvm-exegesis] Improve error reporting in Assembler.cpp" 2020-02-19 14:40:28 +01:00
CMakeLists.txt CMake: Make most target symbols hidden by default 2020-01-14 19:46:52 -08:00
unittest.cfg.in