From 39a3597cf974ef228630343899f1c8aea5158cde Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 13 Feb 2021 18:15:30 +0300 Subject: fixes #2722 (Facebook: Miranda cannot receive messages fromF B messenger mobile app for IOS) --- protocols/Facebook/src/mqtt.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'protocols/Facebook/src/mqtt.cpp') diff --git a/protocols/Facebook/src/mqtt.cpp b/protocols/Facebook/src/mqtt.cpp index 21e4e6001e..837bdd359d 100644 --- a/protocols/Facebook/src/mqtt.cpp +++ b/protocols/Facebook/src/mqtt.cpp @@ -49,11 +49,19 @@ uint8_t *FacebookProto::doUnzip(size_t cbData, const void *pData, size_t &cbRes) zStreamOut.next_in = (uint8_t *)pData; zStreamOut.avail_out = (unsigned)dataSize; zStreamOut.next_out = (uint8_t *)pRes; - inflate(&zStreamOut, Z_FINISH); + int rc = inflate(&zStreamOut, Z_FINISH); inflateEnd(&zStreamOut); - cbRes = dataSize - zStreamOut.avail_out; - return pRes; + switch (rc) { + case Z_OK: + case Z_STREAM_END: + cbRes = dataSize - zStreamOut.avail_out; + return pRes; + } + + mir_free(pRes); + cbRes = 0; + return nullptr; } ///////////////////////////////////////////////////////////////////////////////////////// -- cgit v1.2.3