From 8c5352f0175bf063056b54118cb93edb734d15a0 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 3 May 2016 23:16:17 +0200 Subject: fix error condition for yk_challenge_response() --- bin/ykfde.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'bin') diff --git a/bin/ykfde.c b/bin/ykfde.c index 1e70cbf..1277e2c 100644 --- a/bin/ykfde.c +++ b/bin/ykfde.c @@ -238,10 +238,11 @@ int main(int argc, char **argv) { memcpy(challenge_new, tmp, plen < MAX2FLEN ? plen : MAX2FLEN); /* do challenge/response and encode to hex */ - if ((rc = yk_challenge_response(yk, yk_slot, true, - CHALLENGELEN, (unsigned char *) challenge_new, - RESPONSELEN, (unsigned char *) response_new)) < 0) { + if (yk_challenge_response(yk, yk_slot, true, + CHALLENGELEN, (unsigned char *) challenge_new, + RESPONSELEN, (unsigned char *) response_new) == 0) { perror("yk_challenge_response() failed"); + rc = EXIT_FAILURE; goto out50; } yubikey_hex_encode((char *) passphrase_new, (char *) response_new, SHA1_DIGEST_SIZE); @@ -287,10 +288,11 @@ int main(int argc, char **argv) { memcpy(challenge_old, payload, plen < MAX2FLEN ? plen : MAX2FLEN); /* do challenge/response and encode to hex */ - if ((rc = yk_challenge_response(yk, yk_slot, true, - CHALLENGELEN, (unsigned char *) challenge_old, - RESPONSELEN, (unsigned char *) response_old)) < 0) { + if (yk_challenge_response(yk, yk_slot, true, + CHALLENGELEN, (unsigned char *) challenge_old, + RESPONSELEN, (unsigned char *) response_old) == 0) { perror("yk_challenge_response() failed"); + rc = EXIT_FAILURE; goto out60; } yubikey_hex_encode((char *) passphrase_old, (char *) response_old, SHA1_DIGEST_SIZE); -- cgit v1.2.3-54-g00ecf