summaryrefslogtreecommitdiffstats
path: root/base/pickle.cc
diff options
context:
space:
mode:
Diffstat (limited to 'base/pickle.cc')
-rw-r--r--base/pickle.cc6
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)