]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdsmartcard.c
fix WaitForResponse (without timeout)
[proxmark3-svn] / client / cmdsmartcard.c
index ac642fc992a5956fcea2f98fffaf5ed1c96084cf..caf33db6a886f76103ae1318f333423d3114486e 100644 (file)
@@ -10,6 +10,7 @@
 #include "cmdsmartcard.h"
 
 #include <ctype.h>
 #include "cmdsmartcard.h"
 
 #include <ctype.h>
+#include <string.h>
 
 #include "ui.h"
 #include "cmdparser.h"
 
 #include "ui.h"
 #include "cmdparser.h"
@@ -311,7 +312,7 @@ static int PrintATR(uint8_t *atr, size_t atrlen) {
        return 0;
 }
 
        return 0;
 }
 
-static bool smart_getATR(smart_card_atr_t *card)
+bool smart_getATR(smart_card_atr_t *card)
 {
        if (UseAlternativeSmartcardReader) {
                return pcscGetATR(card);
 {
        if (UseAlternativeSmartcardReader) {
                return pcscGetATR(card);
@@ -804,6 +805,11 @@ static int CmdSmartInfo(const char *Cmd){
                if (!silent) PrintAndLogEx(WARNING, "smart card select failed");
                return 1;
        }
                if (!silent) PrintAndLogEx(WARNING, "smart card select failed");
                return 1;
        }
+       
+       if (!card.atr_len) {
+               if (!silent) PrintAndLogEx(ERR, "can't get ATR from a smart card");
+               return 1;
+       }
 
        // print header
        PrintAndLogEx(INFO, "--- Smartcard Information ---------");
 
        // print header
        PrintAndLogEx(INFO, "--- Smartcard Information ---------");
Impressum, Datenschutz