From c65caed7f4ce3b3146054eafc5bb2ed426931a38 Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Wed, 29 Apr 2015 23:22:29 +0200 Subject: [PATCH] openpgp-tool: fixed resource leak VTA: slightly touched, original commit f0ddbf4 --- src/tools/openpgp-tool.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/tools/openpgp-tool.c b/src/tools/openpgp-tool.c index 5d975d59..00ca0715 100644 --- a/src/tools/openpgp-tool.c +++ b/src/tools/openpgp-tool.c @@ -357,7 +357,7 @@ static int do_dump_do(sc_card_t *card, unsigned int tag) // Private DO are specified up to 254 bytes unsigned char buffer[254]; memset(buffer, '\0', sizeof(buffer)); - + r = sc_get_data(card, tag, buffer, sizeof(buffer)); if (r < 0) { printf("Failed to get data object: %s\n", sc_strerror(r)); @@ -378,10 +378,9 @@ static int do_dump_do(sc_card_t *card, unsigned int tag) } dup2(tmp, fileno(stdout)); clearerr(stdout); - if (sizeof(buffer) != r) { - return EXIT_FAILURE; - } close(tmp); + if (sizeof(buffer) != r) + return EXIT_FAILURE; } else { util_hex_dump_asc(stdout, buffer, sizeof(buffer), -1); }