Bug 1263292 - Handle calling realloc(0) (r=jld)

This commit is contained in:
Bill McCloskey 2016-04-13 18:43:36 -07:00
Родитель 85b6e29755
Коммит 19ff386143
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -51,7 +51,7 @@ void
Buffer::try_realloc(size_t newlength)
{
char* buffer = (char*)realloc(mBuffer, newlength);
if (buffer) {
if (buffer || !newlength) {
mBuffer = buffer;
mReserved = newlength;
return;
@ -107,6 +107,8 @@ Buffer::reserve(size_t size)
char*
Buffer::trade_bytes(size_t count)
{
MOZ_RELEASE_ASSERT(count);
char* result = mBuffer;
mSize = mReserved = mSize - count;
mBuffer = mReserved ? (char*)malloc(mReserved) : nullptr;