diff options
-rw-r--r-- | include/llvm/ADT/SmallVector.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/llvm/ADT/SmallVector.h b/include/llvm/ADT/SmallVector.h index d124091343..9ca089877c 100644 --- a/include/llvm/ADT/SmallVector.h +++ b/include/llvm/ADT/SmallVector.h @@ -463,6 +463,7 @@ public: } iterator erase(iterator I) { + assert(I >= this->begin() && I < this->end() && "Iterator out of bounds"); iterator N = I; // Shift all elts down one. this->move(I+1, this->end(), I); @@ -472,6 +473,8 @@ public: } iterator erase(iterator S, iterator E) { + assert(S >= this->begin() && S <= E && E <= this->end() && + "Iterator range out of bounds"); iterator N = S; // Shift all elts down. iterator I = this->move(E, this->end(), S); |