Really fix passing BMessages by area.

This commit is contained in:
Adrien Destugues
2015-01-06 16:51:06 +01:00
parent 1bfcb75b29
commit 607dfee24c
+12 -12
View File
@@ -1333,20 +1333,20 @@ BMessage::Unflatten(BDataIO* stream)
if (result != fieldsSize) if (result != fieldsSize)
return result < 0 ? result : B_BAD_VALUE; return result < 0 ? result : B_BAD_VALUE;
} }
}
if (fHeader->data_size > 0) { if (fHeader->data_size > 0) {
fData = (uint8*)malloc(fHeader->data_size); fData = (uint8*)malloc(fHeader->data_size);
if (fData == NULL) { if (fData == NULL) {
free(fFields); free(fFields);
fFields = NULL; fFields = NULL;
_InitHeader(); _InitHeader();
return B_NO_MEMORY; return B_NO_MEMORY;
}
result = stream->Read(fData, fHeader->data_size);
if (result != (ssize_t)fHeader->data_size)
return result < 0 ? result : B_BAD_VALUE;
} }
result = stream->Read(fData, fHeader->data_size);
if (result != (ssize_t)fHeader->data_size)
return result < 0 ? result : B_BAD_VALUE;
} }
return _ValidateMessage(); return _ValidateMessage();