Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 // OutStreamWithCRC.cpp
3 #include "StdAfx.h"
5 #include "OutStreamWithCRC.h"
7 STDMETHODIMP COutStreamWithCRC::Write(const void *data,
8 UInt32 size, UInt32 *processedSize)
9 {
10 UInt32 realProcessedSize;
11 HRESULT result;
12 if(!_stream)
13 {
14 realProcessedSize = size;
15 result = S_OK;
16 }
17 else
18 result = _stream->Write(data, size, &realProcessedSize);
19 _crc.Update(data, realProcessedSize);
20 if(processedSize != NULL)
21 *processedSize = realProcessedSize;
22 return result;
23 }