From 440f273c40cd5a4dbdaf81910c4f5dfc51435bff Mon Sep 17 00:00:00 2001 From: Matthias Braun Date: Fri, 20 Jan 2017 04:23:08 +0000 Subject: [PATCH] BitVector: Fix undefined behaviour Calling reset() on an empty BitVector would call memset with a nullptr argument which is undefined behaviour. This should fix the sanitizer bot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292575 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/BitVector.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/llvm/ADT/BitVector.h b/include/llvm/ADT/BitVector.h index cf3756d0d9c..cb318199ec7 100644 --- a/include/llvm/ADT/BitVector.h +++ b/include/llvm/ADT/BitVector.h @@ -539,7 +539,8 @@ private: } void init_words(BitWord *B, unsigned NumWords, bool t) { - memset(B, 0 - (int)t, NumWords*sizeof(BitWord)); + if (NumWords > 0) + memset(B, 0 - (int)t, NumWords*sizeof(BitWord)); } template -- 2.50.1