From 5e4160791e3c708091c0de3d54395b8ca72d0cf6 Mon Sep 17 00:00:00 2001 From: Andrea Marchesini Date: Tue, 24 Jan 2017 16:02:15 +0100 Subject: [PATCH] Bug 1333384 - nsTemporaryFileInputStream::ReadSegments must consider the stream as closed if PR_Read() return 0, r=bkelly --- netwerk/base/nsTemporaryFileInputStream.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/netwerk/base/nsTemporaryFileInputStream.cpp b/netwerk/base/nsTemporaryFileInputStream.cpp index 56a32bb57047..c7c5b0648669 100644 --- a/netwerk/base/nsTemporaryFileInputStream.cpp +++ b/netwerk/base/nsTemporaryFileInputStream.cpp @@ -84,6 +84,11 @@ nsTemporaryFileInputStream::ReadSegments(nsWriteSegmentFun writer, while (*result < count) { uint32_t bufCount = std::min(count - *result, (uint32_t) sizeof(buf)); int32_t bytesRead = PR_Read(mFileDescOwner->mFD, buf, bufCount); + if (bytesRead == 0) { + mClosed = true; + return NS_OK; + } + if (bytesRead < 0) { return NS_ErrorAccordingToNSPR(); }