tools: avoid possible matching of zero length ATR
This commit is contained in:
parent
c7258a6b52
commit
53330f9f89
|
@ -88,7 +88,7 @@ int util_connect_card(sc_context_t *ctx, sc_card_t **cardp,
|
||||||
/* Loop readers, looking for a card with ATR */
|
/* Loop readers, looking for a card with ATR */
|
||||||
for (i = 0; i < sc_ctx_get_reader_count(ctx); i++) {
|
for (i = 0; i < sc_ctx_get_reader_count(ctx); i++) {
|
||||||
reader = sc_ctx_get_reader(ctx, i);
|
reader = sc_ctx_get_reader(ctx, i);
|
||||||
if (sc_detect_card_presence(reader) & SC_READER_CARD_PRESENT) {
|
if ((sc_detect_card_presence(reader) & SC_READER_CARD_PRESENT) && (reader->atr.len > 0)) {
|
||||||
if (!memcmp(reader->atr.value, atr_buf, reader->atr.len)) {
|
if (!memcmp(reader->atr.value, atr_buf, reader->atr.len)) {
|
||||||
fprintf(stderr, "Matched ATR in reader: %s\n", reader->name);
|
fprintf(stderr, "Matched ATR in reader: %s\n", reader->name);
|
||||||
goto autofound;
|
goto autofound;
|
||||||
|
|
Loading…
Reference in New Issue