diff options
author | Werner Koch <[email protected]> | 2017-12-04 11:08:31 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-12-04 11:08:31 +0000 |
commit | 0c1244a2b7e30ab0610ae70166e1b5d0219782c3 (patch) | |
tree | 138353cb937071ed0cd7e37cbb58fb38ce3eafbe /src/data.c | |
parent | python: Default whence argument for Data() to SEEK_SET. (diff) | |
download | gpgme-0c1244a2b7e30ab0610ae70166e1b5d0219782c3.tar.gz gpgme-0c1244a2b7e30ab0610ae70166e1b5d0219782c3.zip |
core: Also check for a failed selftest in gpgm_data_new.
* src/data.c (_gpgme_data_new): Check for failed selftest.
* tests/run-support.h (make_filename): Print a message on mallooc
failure.
(init_gpgme_basic): New.
* tests/run-identify.c (main): Call init_gpgme_basic becuase we do not
need to setup a protocol.
* tests/t-data.c: Define PGM and include run-support.h.
(make_filename): Remove.
(main): Call init_gpgme_basic.
--
Note: This patch may break applications which used gpgme_data but no
gpgme_new without having called the required gpgme_check_version.
GPGME can be used without a protocol for example to work with the data
object abstraction. Thus a call to gpgme_data_new also needs to check
the result of the core selftests - including on whether
gpgme_check_version has been called.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/data.c')
-rw-r--r-- | src/data.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -46,6 +46,10 @@ _gpgme_data_new (gpgme_data_t *r_dh, struct _gpgme_data_cbs *cbs) return gpg_error (GPG_ERR_INV_VALUE); *r_dh = NULL; + + if (_gpgme_selftest) + return _gpgme_selftest; + dh = calloc (1, sizeof (*dh)); if (!dh) return gpg_error_from_syserror (); |