Bug 1082114 - Fix pre-setData() calls to .available(), r=Waldo
--- a/netwerk/base/src/ArrayBufferInputStream.cpp
+++ b/netwerk/base/src/ArrayBufferInputStream.cpp
@@ -49,18 +49,22 @@ ArrayBufferInputStream::Close()
}
NS_IMETHODIMP
ArrayBufferInputStream::Available(uint64_t* aCount)
{
if (mClosed) {
return NS_BASE_STREAM_CLOSED;
}
- uint32_t buflen = JS_GetArrayBufferByteLength(mArrayBuffer->get());
- *aCount = buflen ? buflen - mPos : 0;
+ if (mArrayBuffer) {
+ uint32_t buflen = JS_GetArrayBufferByteLength(mArrayBuffer->get());
+ *aCount = buflen ? buflen - mPos : 0;
+ } else {
+ *aCount = 0;
+ }
return NS_OK;
}
NS_IMETHODIMP
ArrayBufferInputStream::Read(char* aBuf, uint32_t aCount, uint32_t *aReadCount)
{
return ReadSegments(NS_CopySegmentToBuffer, aBuf, aCount, aReadCount);
}