summaryrefslogtreecommitdiff
path: root/src/pkcs11.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2018-08-13 20:22:48 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2018-08-13 21:50:32 +0200
commit826f41e582f1c1a7f5e3dd30ae03b2fa23a2ef4f (patch)
tree5fb561ad4453eef721eb83040df96145accc9d2e /src/pkcs11.c
parentc7336c3fee7e0ae6c6d4ef5dbfbdcebc920b9a0b (diff)
downloadgnutls-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.c21
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;