diff options
author | Andre Heinecke <[email protected]> | 2023-06-16 12:33:19 +0000 |
---|---|---|
committer | Andre Heinecke <[email protected]> | 2023-06-16 12:33:19 +0000 |
commit | 5811d069d3b391e9fd77c1062a2d96be41645422 (patch) | |
tree | bcf7cf9fd50d87e350298d69a9fd1d5deb4b900e /lang/qt/src/qgpgmedecryptverifyjob.cpp | |
parent | cpp: Expose gpgme_data_set_flag through cpp API (diff) | |
download | gpgme-5811d069d3b391e9fd77c1062a2d96be41645422.tar.gz gpgme-5811d069d3b391e9fd77c1062a2d96be41645422.zip |
qt, cpp: Support larger size-hint on 32 bit builds
* NEWS: Mention this.
* lang/cpp/src/data.h, lang/cpp/src/data.cpp (Data::setSizeHint): New.
* lang/qt/src/qgpgmedecryptjob.cpp,
lang/qt/src/qgpgmedecryptverifyarchivejob.cpp,
lang/qt/src/qgpgmedecryptverifyjob.cpp,
lang/qt/src/qgpgmeencryptjob.cpp,
lang/qt/src/qgpgmesignencryptjob.cpp,
lang/qt/src/qgpgmesignjob.cpp,
lang/qt/src/qgpgmeverifydetachedjob.cpp,
lang/qt/src/qgpgmeverifyopaquejob.cpp: Set size for input IODevice.
--
This fixes the case where the old detection of the size of QIOdevice
using seek would overflow and instead explicitly uses QIODevice::size
to check for the size and pass it through as an uint64.
GnuPG-Bug-Id: T6534
Diffstat (limited to '')
-rw-r--r-- | lang/qt/src/qgpgmedecryptverifyjob.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lang/qt/src/qgpgmedecryptverifyjob.cpp b/lang/qt/src/qgpgmedecryptverifyjob.cpp index e2b3724a..256160b5 100644 --- a/lang/qt/src/qgpgmedecryptverifyjob.cpp +++ b/lang/qt/src/qgpgmedecryptverifyjob.cpp @@ -76,7 +76,10 @@ static QGpgMEDecryptVerifyJob::result_type decrypt_verify(Context *ctx, QThread const _detail::ToThreadMover ptMover(plainText, thread); QGpgME::QIODeviceDataProvider in(cipherText); - const Data indata(&in); + Data indata(&in); + if (!cipherText->isSequential()) { + indata.setSizeHint(cipherText->size()); + } if (!plainText) { QGpgME::QByteArrayDataProvider out; |