diff options
Diffstat (limited to 'lib/Rewrite/RewriteRope.cpp')
-rw-r--r-- | lib/Rewrite/RewriteRope.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Rewrite/RewriteRope.cpp b/lib/Rewrite/RewriteRope.cpp index 0a4dc85968..61cb02b9a5 100644 --- a/lib/Rewrite/RewriteRope.cpp +++ b/lib/Rewrite/RewriteRope.cpp @@ -792,7 +792,7 @@ RopePiece RewriteRope::MakeRopeString(const char *Start, const char *End) { if (AllocBuffer && --AllocBuffer->RefCount == 0) delete [] (char*)AllocBuffer; - unsigned AllocSize = sizeof(RopeRefCountString)-1+AllocChunkSize; + unsigned AllocSize = offsetof(RopeRefCountString, Data) + AllocChunkSize; AllocBuffer = reinterpret_cast<RopeRefCountString *>(new char[AllocSize]); AllocBuffer->RefCount = 0; memcpy(AllocBuffer->Data, Start, Len); |