fix PR2953, an off-by-one error handling formatted i/o.

Thanks to Török Edwin for the awesome reduced testcase.

llvm-svn: 58199
This commit is contained in:
Chris Lattner 2008-10-26 19:20:47 +00:00
parent 9737bef5a1
commit 3fed68158c

View File

@ -175,7 +175,7 @@ raw_ostream &raw_ostream::operator<<(const format_object_base &Fmt) {
unsigned BytesUsed = Fmt.print(&V[0], NextBufferSize);
// If BytesUsed fit into the vector, we win.
if (BytesUsed < NextBufferSize)
if (BytesUsed <= NextBufferSize)
return write(&V[0], BytesUsed);
// Otherwise, try again with a new size.