r217766 - Edit: Do not extend a removal to include trailing whitespace if we're at the end
Benjamin Kramer
benny.kra at googlemail.com
Mon Sep 15 04:47:10 PDT 2014
Author: d0k
Date: Mon Sep 15 06:47:10 2014
New Revision: 217766
URL: http://llvm.org/viewvc/llvm-project?rev=217766&view=rev
Log:
Edit: Do not extend a removal to include trailing whitespace if we're at the end
of the file.
This would run past the end of the buffer. Sadly I don't have a great way to
test it, the only way to trigger the bug is having a removal fix it at the end
of the file, which none of our current warnings can generate.
Modified:
cfe/trunk/lib/Edit/EditedSource.cpp
Modified: cfe/trunk/lib/Edit/EditedSource.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Edit/EditedSource.cpp?rev=217766&r1=217765&r2=217766&view=diff
==============================================================================
--- cfe/trunk/lib/Edit/EditedSource.cpp (original)
+++ cfe/trunk/lib/Edit/EditedSource.cpp Mon Sep 15 06:47:10 2014
@@ -280,6 +280,12 @@ static void adjustRemoval(const SourceMa
unsigned begin = offs.getOffset();
unsigned end = begin + len;
+ // Do not try to extend the removal if we're at the end of the buffer already.
+ if (end == buffer.size())
+ return;
+
+ assert(begin < buffer.size() && end < buffer.size() && "Invalid range!");
+
// FIXME: Remove newline.
if (begin == 0) {
More information about the cfe-commits
mailing list