forked from OSchip/llvm-project
Don't call memcpy(p, 0, 0).
Found by UBSan, reported by Kostya. Thanks!
This commit is contained in:
parent
2ba4df6c11
commit
c1394afb8d
|
@ -482,9 +482,11 @@ static void Append(char *Start, char *End, char *&Buffer, unsigned &BufferSize,
|
|||
(unsigned)(BufferCapacity ? BufferCapacity * 2 : sizeof(void *) * 2),
|
||||
(unsigned)(BufferSize + (End - Start)));
|
||||
char *NewBuffer = static_cast<char *>(llvm::safe_malloc(NewCapacity));
|
||||
memcpy(NewBuffer, Buffer, BufferSize);
|
||||
if (BufferCapacity)
|
||||
free(Buffer);
|
||||
if (Buffer) {
|
||||
memcpy(NewBuffer, Buffer, BufferSize);
|
||||
if (BufferCapacity)
|
||||
free(Buffer);
|
||||
}
|
||||
Buffer = NewBuffer;
|
||||
BufferCapacity = NewCapacity;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue