diff --git a/src/add-ons/print/drivers/pdf/source/PrinterSettings.cpp b/src/add-ons/print/drivers/pdf/source/PrinterSettings.cpp index 2aa07988c2..96581954ab 100644 --- a/src/add-ons/print/drivers/pdf/source/PrinterSettings.cpp +++ b/src/add-ons/print/drivers/pdf/source/PrinterSettings.cpp @@ -115,11 +115,13 @@ PrinterSettings::ReadSettings(BMessage *msg) status_t PrinterSettings::WriteSettings(BMessage* msg) { - size_t length; + ssize_t length; char *data = NULL; status_t err = B_ERROR; length = msg->FlattenedSize(); + if (length < B_OK) + return length; data = (char *) malloc(length); if (data != NULL) { msg->Flatten(data, length);