Bug 1059813: Protect access to fields of |UnixSocketRawData|, r=qdot
This patch adds protection for fields of |UnixSocketRawData| by making them private.
This commit is contained in:
@@ -18,17 +18,9 @@ namespace ipc {
|
||||
// UnixSocketRawData
|
||||
//
|
||||
|
||||
UnixSocketRawData::UnixSocketRawData(size_t aSize)
|
||||
: mSize(0)
|
||||
, mCurrentWriteOffset(0)
|
||||
, mAvailableSpace(aSize)
|
||||
{
|
||||
mData = new uint8_t[mAvailableSpace];
|
||||
}
|
||||
|
||||
UnixSocketRawData::UnixSocketRawData(const void* aData, size_t aSize)
|
||||
: mSize(aSize)
|
||||
, mCurrentWriteOffset(0)
|
||||
, mOffset(0)
|
||||
, mAvailableSpace(aSize)
|
||||
{
|
||||
MOZ_ASSERT(aData || !mSize);
|
||||
@@ -37,6 +29,14 @@ UnixSocketRawData::UnixSocketRawData(const void* aData, size_t aSize)
|
||||
memcpy(mData, aData, mSize);
|
||||
}
|
||||
|
||||
UnixSocketRawData::UnixSocketRawData(size_t aSize)
|
||||
: mSize(0)
|
||||
, mOffset(0)
|
||||
, mAvailableSpace(aSize)
|
||||
{
|
||||
mData = new uint8_t[mAvailableSpace];
|
||||
}
|
||||
|
||||
ssize_t
|
||||
UnixSocketRawData::Receive(int aFd)
|
||||
{
|
||||
@@ -50,7 +50,7 @@ UnixSocketRawData::Receive(int aFd)
|
||||
} else {
|
||||
memmove(mData, GetData(), GetSize());
|
||||
}
|
||||
mCurrentWriteOffset = 0;
|
||||
mOffset = 0;
|
||||
}
|
||||
|
||||
ssize_t res =
|
||||
@@ -193,7 +193,7 @@ SocketIOBase::~SocketIOBase()
|
||||
void
|
||||
SocketIOBase::EnqueueData(UnixSocketRawData* aData)
|
||||
{
|
||||
if (!aData->mSize) {
|
||||
if (!aData->GetSize()) {
|
||||
delete aData; // delete empty data immediately
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user