projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
2672a8e
)
Fix undefined behaviour reported by the new --enable-expensive-checks option.
author
Nick Lewycky
<nicholas@mxc.ca>
Sun, 1 Jul 2007 03:06:30 +0000
(
03:06
+0000)
committer
Nick Lewycky
<nicholas@mxc.ca>
Sun, 1 Jul 2007 03:06:30 +0000
(
03:06
+0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37829
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/Support/MemoryBuffer.cpp
patch
|
blob
|
history
diff --git
a/lib/Support/MemoryBuffer.cpp
b/lib/Support/MemoryBuffer.cpp
index 0e857021a486915304e68ddde5a22de6ac5ad6f7..43eb1813ad6c06575f7dd76590d627e3f665792c 100644
(file)
--- a/
lib/Support/MemoryBuffer.cpp
+++ b/
lib/Support/MemoryBuffer.cpp
@@
-251,8
+251,9
@@
MemoryBuffer *MemoryBuffer::getSTDIN() {
while (size_t ReadBytes = fread(Buffer, 1, 4096*4, stdin))
FileData.insert(FileData.end(), Buffer, Buffer+ReadBytes);
+ FileData.push_back(0); // &FileData[Size] is invalid. So is &*FileData.end().
size_t Size = FileData.size();
MemoryBuffer *B = new STDINBufferFile();
- B->initCopyOf(&FileData[0], &FileData[Size]);
+ B->initCopyOf(&FileData[0], &FileData[Size
-1
]);
return B;
}