summaryrefslogtreecommitdiff
path: root/lang/qt/src/dataprovider.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lang/qt/src/dataprovider.cpp')
-rw-r--r--lang/qt/src/dataprovider.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/lang/qt/src/dataprovider.cpp b/lang/qt/src/dataprovider.cpp
index 8385686..a025a03 100644
--- a/lang/qt/src/dataprovider.cpp
+++ b/lang/qt/src/dataprovider.cpp
@@ -1,6 +1,7 @@
/* dataprovider.cpp
Copyright (C) 2004 Klarävdalens Datakonsult AB
- Copyright (c) 2016 Intevation GmbH
+ Copyright (c) 2016 by Bundesamt für Sicherheit in der Informationstechnik
+ Software engineering by Intevation GmbH
This file is part of QGPGME.
@@ -184,7 +185,11 @@ static qint64 blocking_read(const std::shared_ptr<QIODevice> &io, char *buffer,
if (p->error() == QProcess::UnknownError &&
p->exitStatus() == QProcess::NormalExit &&
p->exitCode() == 0) {
- return 0;
+ if (io->atEnd()) {
+ // EOF
+ return 0;
+ } // continue reading even if process ended to ensure
+ // everything is read.
} else {
Error::setSystemError(GPG_ERR_EIO);
return -1;