diff --git a/netwerk/cache2/CacheFile.cpp b/netwerk/cache2/CacheFile.cpp index ebc1031863a..55d4ec92706 100644 --- a/netwerk/cache2/CacheFile.cpp +++ b/netwerk/cache2/CacheFile.cpp @@ -1925,7 +1925,12 @@ CacheFile::PadChunkWithZeroes(uint32_t aChunkIdx) LOG(("CacheFile::PadChunkWithZeroes() - Zeroing hole in chunk %d, range %d-%d" " [this=%p]", aChunkIdx, chunk->DataSize(), kChunkSize - 1, this)); - chunk->EnsureBufSize(kChunkSize); + rv = chunk->EnsureBufSize(kChunkSize); + if (NS_FAILED(rv)) { + ReleaseOutsideLock(chunk.forget().take()); + SetError(rv); + return rv; + } memset(chunk->BufForWriting() + chunk->DataSize(), 0, kChunkSize - chunk->DataSize()); chunk->UpdateDataSize(chunk->DataSize(), kChunkSize - chunk->DataSize(),