Marshall Clow found this memory problem in strstream using -fsanitize=address on the test suite.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@177452 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant 2013-03-19 22:16:57 +00:00
parent 903439f735
commit b74309e3ad

View File

@ -158,6 +158,8 @@ strstreambuf::overflow(int_type __c)
return int_type(EOF);
streamsize old_size = (epptr() ? epptr() : egptr()) - eback();
streamsize new_size = max<streamsize>(__alsize_, 2*old_size);
if (new_size == 0)
new_size = __default_alsize;
char* buf = nullptr;
if (__palloc_)
buf = static_cast<char*>(__palloc_(static_cast<size_t>(new_size)));