diff --git a/src/libopensc/card-muscle.c b/src/libopensc/card-muscle.c index 75046dcc..67ccaa39 100644 --- a/src/libopensc/card-muscle.c +++ b/src/libopensc/card-muscle.c @@ -93,7 +93,7 @@ static int muscle_match_card(sc_card_t *card) apdu.resplen = 64; apdu.resp = response; r = sc_transmit_apdu(card, &apdu); - if (r == SC_SUCCESS && response[0] == 0x01) { + if (r == SC_SUCCESS && apdu.resplen > 1 && response[0] == 0x01) { card->type = SC_CARD_TYPE_MUSCLE_V1; } else { card->type = SC_CARD_TYPE_MUSCLE_GENERIC;