diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2018-08-13 20:22:48 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2018-08-13 21:50:32 +0200 |
commit | 826f41e582f1c1a7f5e3dd30ae03b2fa23a2ef4f (patch) | |
tree | 5fb561ad4453eef721eb83040df96145accc9d2e /src/pkcs11.c | |
parent | c7336c3fee7e0ae6c6d4ef5dbfbdcebc920b9a0b (diff) | |
download | gnutls-826f41e582f1c1a7f5e3dd30ae03b2fa23a2ef4f.tar.gz |
tools: check output of called functions
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Diffstat (limited to 'src/pkcs11.c')
-rw-r--r-- | src/pkcs11.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/pkcs11.c b/src/pkcs11.c index 30c188dda1..0dc2c563fe 100644 --- a/src/pkcs11.c +++ b/src/pkcs11.c @@ -127,7 +127,10 @@ const char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype, const char *objurl switch (otype) { case GNUTLS_PKCS11_OBJ_X509_CRT: - gnutls_x509_crt_init(&crt); + ret = gnutls_x509_crt_init(&crt); + if (ret < 0) + goto fail; + ret = gnutls_x509_crt_import_url(crt, objurl, flags); if (ret < 0) goto fail; @@ -153,7 +156,10 @@ const char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype, const char *objurl gnutls_x509_crt_deinit(crt); return p; case GNUTLS_PKCS11_OBJ_PUBKEY: - gnutls_pubkey_init(&pubkey); + ret = gnutls_pubkey_init(&pubkey); + if (ret < 0) + goto fail; + ret = gnutls_pubkey_import_url(pubkey, objurl, flags); if (ret < 0) goto fail; @@ -176,7 +182,10 @@ const char *get_key_algo_type(gnutls_pkcs11_obj_type_t otype, const char *objurl gnutls_pubkey_deinit(pubkey); return p; case GNUTLS_PKCS11_OBJ_PRIVKEY: - gnutls_privkey_init(&privkey); + ret = gnutls_privkey_init(&privkey); + if (ret < 0) + goto fail; + ret = gnutls_privkey_import_url(privkey, objurl, flags); if (ret < 0) goto fail; @@ -230,7 +239,11 @@ pkcs11_list(FILE * outfile, const char *url, int type, unsigned int flags, FIX(url, outfile, detailed, info); - gnutls_pkcs11_token_get_flags(url, &flags); + ret = gnutls_pkcs11_token_get_flags(url, &flags); + if (ret < 0) { + flags = 0; + } + if (flags & GNUTLS_PKCS11_TOKEN_TRUSTED) print_exts = 1; |