From 070370895f7d918b9c1f2882a492454676b6d254 Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Wed, 6 Mar 2019 00:39:53 +0100 Subject: [PATCH] fixed 333707 Dereference before null check --- src/tools/cardos-tool.c | 3 +-- src/tools/cryptoflex-tool.c | 3 +-- src/tools/dnie-tool.c | 3 +-- src/tools/iasecc-tool.c | 3 +-- src/tools/opensc-tool.c | 7 ++----- src/tools/piv-tool.c | 3 +-- src/tools/pkcs15-tool.c | 9 +++------ src/tools/sc-hsm-tool.c | 7 ++----- 8 files changed, 12 insertions(+), 26 deletions(-) diff --git a/src/tools/cardos-tool.c b/src/tools/cardos-tool.c index 7848885f..f35c99e2 100644 --- a/src/tools/cardos-tool.c +++ b/src/tools/cardos-tool.c @@ -1132,7 +1132,6 @@ int main(int argc, char *argv[]) sc_unlock(card); sc_disconnect_card(card); } - if (ctx) - sc_release_context(ctx); + sc_release_context(ctx); return err; } diff --git a/src/tools/cryptoflex-tool.c b/src/tools/cryptoflex-tool.c index 6a910f9b..b0cd6ede 100644 --- a/src/tools/cryptoflex-tool.c +++ b/src/tools/cryptoflex-tool.c @@ -1117,7 +1117,6 @@ end: sc_unlock(card); sc_disconnect_card(card); } - if (ctx) - sc_release_context(ctx); + sc_release_context(ctx); return err; } diff --git a/src/tools/dnie-tool.c b/src/tools/dnie-tool.c index 660d90ba..d788cd8c 100644 --- a/src/tools/dnie-tool.c +++ b/src/tools/dnie-tool.c @@ -232,8 +232,7 @@ dnie_tool_end: sc_unlock(card); sc_disconnect_card(card); } - if (ctx) - sc_release_context(ctx); + sc_release_context(ctx); return err; } diff --git a/src/tools/iasecc-tool.c b/src/tools/iasecc-tool.c index b12a5f18..11a68b84 100644 --- a/src/tools/iasecc-tool.c +++ b/src/tools/iasecc-tool.c @@ -288,8 +288,7 @@ end: sc_unlock(card); sc_disconnect_card(card); } - if (ctx) - sc_release_context(ctx); + sc_release_context(ctx); return err; } diff --git a/src/tools/opensc-tool.c b/src/tools/opensc-tool.c index 88250de4..81b9af0f 100644 --- a/src/tools/opensc-tool.c +++ b/src/tools/opensc-tool.c @@ -909,10 +909,7 @@ int main(int argc, char *argv[]) action_count--; } end: - if (card) { - sc_disconnect_card(card); - } - if (ctx) - sc_release_context(ctx); + sc_disconnect_card(card); + sc_release_context(ctx); return err; } diff --git a/src/tools/piv-tool.c b/src/tools/piv-tool.c index 15102268..49d6d909 100644 --- a/src/tools/piv-tool.c +++ b/src/tools/piv-tool.c @@ -662,8 +662,7 @@ end: sc_unlock(card); sc_disconnect_card(card); } - if (ctx) - sc_release_context(ctx); + sc_release_context(ctx); ERR_print_errors_fp(stderr); return err; diff --git a/src/tools/pkcs15-tool.c b/src/tools/pkcs15-tool.c index 4f81b10c..08649202 100644 --- a/src/tools/pkcs15-tool.c +++ b/src/tools/pkcs15-tool.c @@ -2427,11 +2427,8 @@ int main(int argc, char *argv[]) action_count--; } end: - if (p15card) - sc_pkcs15_unbind(p15card); - if (card) - sc_disconnect_card(card); - if (ctx) - sc_release_context(ctx); + sc_pkcs15_unbind(p15card); + sc_disconnect_card(card); + sc_release_context(ctx); return err; } diff --git a/src/tools/sc-hsm-tool.c b/src/tools/sc-hsm-tool.c index b9ece5eb..a9d982b8 100644 --- a/src/tools/sc-hsm-tool.c +++ b/src/tools/sc-hsm-tool.c @@ -1844,11 +1844,8 @@ int main(int argc, char *argv[]) fail: err = 1; end: - if (card) { - sc_disconnect_card(card); - } - if (ctx) - sc_release_context(ctx); + sc_disconnect_card(card); + sc_release_context(ctx); ERR_print_errors_fp(stderr); return err;