diff options
Diffstat (limited to 'base/pickle.cc')
-rw-r--r-- | base/pickle.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/base/pickle.cc b/base/pickle.cc index c3df8bc..e491832 100644 --- a/base/pickle.cc +++ b/base/pickle.cc @@ -322,15 +322,15 @@ bool Pickle::WriteString16(const string16& value) { } bool Pickle::WriteData(const char* data, int length) { - return WriteInt(length) && WriteBytes(data, length); + return length >= 0 && WriteInt(length) && WriteBytes(data, length); } char* Pickle::BeginWriteData(int length) { DCHECK_EQ(variable_buffer_offset_, 0U) << "There can only be one variable buffer in a Pickle"; - if (!WriteInt(length)) - return false; + if (length < 0 || !WriteInt(length)) + return NULL; char *data_ptr = BeginWrite(length); if (!data_ptr) |