qt: Don't use qstrdup in test passphrase cb
authorAndre Heinecke <aheinecke@intevation.de>
Thu, 12 Jan 2017 10:44:11 +0000 (11:44 +0100)
committerAndre Heinecke <aheinecke@intevation.de>
Thu, 12 Jan 2017 10:44:11 +0000 (11:44 +0100)
* lang/qt/tests/t-support.h (TestPassphraseProvider::getPassphrase):
Use gpgrt_asprintf instead of strdup.

--
To avoid problems on MacOS we want to avoid strdup so that
qgpgme can be built without extensions. But qstrdup allocates
with new and not with malloc, so use gpgrt_asprintf instead.

lang/qt/tests/t-support.h

index 2630b7d..e3f0e78 100644 (file)
@@ -34,6 +34,8 @@
 #include "interfaces/passphraseprovider.h"
 #include <QObject>
 
+#include <gpg-error.h>
+
 namespace GpgME
 {
 class TestPassphraseProvider : public PassphraseProvider
@@ -42,7 +44,9 @@ public:
     char *getPassphrase(const char * /*useridHint*/, const char * /*description*/,
                         bool /*previousWasBad*/, bool &/*canceled*/) Q_DECL_OVERRIDE
     {
-        return qstrdup("abc");
+        char *ret;
+        gpgrt_asprintf(&ret, "abc");
+        return ret;
     }
 };
 } // namespace GpgME