From: Chandler Carruth Date: Sat, 16 Jun 2012 00:44:07 +0000 (+0000) Subject: Don't call 'FilesToRemove[0]' when the vector is empty, even to compute X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=29436629dad875cd99cd31cc2f8499f3623effb3;p=oota-llvm.git Don't call 'FilesToRemove[0]' when the vector is empty, even to compute the address of it. Found by a checking STL implementation used on a dragonegg builder. Sorry about this one. =/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158582 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Support/Unix/Signals.inc b/lib/Support/Unix/Signals.inc index b2e5fd8b0a5..519511685dd 100644 --- a/lib/Support/Unix/Signals.inc +++ b/lib/Support/Unix/Signals.inc @@ -189,7 +189,7 @@ void llvm::sys::SetInterruptFunction(void (*IF)()) { bool llvm::sys::RemoveFileOnSignal(const sys::Path &Filename, std::string* ErrMsg) { SignalsMutex.acquire(); - std::string *OldPtr = &FilesToRemove[0]; + std::string *OldPtr = FilesToRemove.empty() ? 0 : &FilesToRemove[0]; FilesToRemove.push_back(Filename.str()); // We want to call 'c_str()' on every std::string in this vector so that if