From 1991dcea0d2e78ec39d7b4692c69517cd8a5c274 Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Mon, 14 Jan 2019 10:37:53 +0100 Subject: [PATCH] removed unused comparison --- src/libopensc/card-piv.c | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/src/libopensc/card-piv.c b/src/libopensc/card-piv.c index ed804844..3298a688 100644 --- a/src/libopensc/card-piv.c +++ b/src/libopensc/card-piv.c @@ -2487,36 +2487,34 @@ piv_compute_signature(sc_card_t *card, const u8 * data, size_t datalen, if (r < 0) goto err; - if ( r >= 0) { - body = sc_asn1_find_tag(card->ctx, rbuf, rbuflen, 0x30, &bodylen); + body = sc_asn1_find_tag(card->ctx, rbuf, rbuflen, 0x30, &bodylen); - for (i = 0; i<2; i++) { - if (body) { - tag = sc_asn1_find_tag(card->ctx, body, bodylen, 0x02, &taglen); - if (tag) { - bodylen -= taglen - (tag - body); - body = tag + taglen; + for (i = 0; i<2; i++) { + if (body) { + tag = sc_asn1_find_tag(card->ctx, body, bodylen, 0x02, &taglen); + if (tag) { + bodylen -= taglen - (tag - body); + body = tag + taglen; - if (taglen > nLen) { /* drop leading 00 if present */ - if (*tag != 0x00) { - r = SC_ERROR_INVALID_DATA; - goto err; - } - tag++; - taglen--; + if (taglen > nLen) { /* drop leading 00 if present */ + if (*tag != 0x00) { + r = SC_ERROR_INVALID_DATA; + goto err; } - memcpy(out + nLen*i + nLen - taglen , tag, taglen); - } else { - r = SC_ERROR_INVALID_DATA; - goto err; + tag++; + taglen--; } - } else { + memcpy(out + nLen*i + nLen - taglen , tag, taglen); + } else { r = SC_ERROR_INVALID_DATA; goto err; } + } else { + r = SC_ERROR_INVALID_DATA; + goto err; } - r = 2 * nLen; } + r = 2 * nLen; } else { /* RSA is all set */ r = piv_validate_general_authentication(card, data, datalen, out, outlen); }