]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhfmf.c
FIX: Corrected the bug mention http://www.proxmark.org/forum/viewtopic.php?id=1612...
[proxmark3-svn] / client / cmdhfmf.c
index 1d2de683fed5cd572f071b3791f7787f5459f489..4b62027580427e3e232e9993b033660c2be9f2bb 100644 (file)
@@ -36,7 +36,6 @@ start:
        //flush queue\r
        while (ukbhit())        getchar();\r
 \r
-       \r
        // wait cycle\r
        while (true) {\r
         printf(".");\r
@@ -848,9 +847,7 @@ int CmdHF14AMfNested(const char *Cmd)
                if (ctmp != 'A' && ctmp != 'a') \r
                        trgKeyType = 1;\r
        } else {\r
-               \r
-               \r
-       \r
+                               \r
                switch (cmdp) {\r
                        case '0': SectorsCnt = 05; break;\r
                        case '1': SectorsCnt = 16; break;\r
@@ -935,20 +932,26 @@ int CmdHF14AMfNested(const char *Cmd)
                        }\r
                }\r
                \r
-               \r
                // nested sectors\r
                iterations = 0;\r
                PrintAndLog("nested...");\r
                bool calibrate = true;\r
                for (i = 0; i < NESTED_SECTOR_RETRY; i++) {\r
                        for (uint8_t sectorNo = 0; sectorNo < SectorsCnt; sectorNo++) {\r
+\r
+                               if (ukbhit()) {\r
+                                       printf("\naborted via keyboard!\n");\r
+                                       free(e_sector);\r
+                                       return 2;\r
+                               }                       \r
+                       \r
                                for (trgKeyType = 0; trgKeyType < 2; trgKeyType++) { \r
                                        if (e_sector[sectorNo].foundKey[trgKeyType]) continue;\r
                                        PrintAndLog("-----------------------------------------------");\r
                                        if(mfnested(blockNo, keyType, key, FirstBlockOfSector(sectorNo), trgKeyType, keyBlock, calibrate)) {\r
                                                PrintAndLog("Nested error.\n");\r
-                                               return 2;\r
-                                       }\r
+                                               free(e_sector);\r
+                                               return 2;                                       }\r
                                        else {\r
                                                calibrate = false;\r
                                        }\r
@@ -1018,10 +1021,9 @@ int CmdHF14AMfNested(const char *Cmd)
                        }\r
                        fclose(fkeys);\r
                }\r
-               \r
+\r
                free(e_sector);\r
        }\r
-\r
        return 0;\r
 }\r
 \r
@@ -1417,7 +1419,7 @@ int CmdHF14AMfESet(const char *Cmd)
 int CmdHF14AMfELoad(const char *Cmd)\r
 {\r
        FILE * f;\r
-       char filename[20];\r
+       char filename[255];\r
        char *fnameptr = filename;\r
        char buf[64];\r
        uint8_t buf8[64];\r
@@ -1434,7 +1436,7 @@ int CmdHF14AMfELoad(const char *Cmd)
        }       \r
 \r
        len = strlen(Cmd);\r
-       if (len > 14) len = 14;\r
+       if (len > 250) len = 250;\r
 \r
        memcpy(filename, Cmd, len);\r
        fnameptr += len;\r
@@ -1492,7 +1494,7 @@ int CmdHF14AMfELoad(const char *Cmd)
 int CmdHF14AMfESave(const char *Cmd)\r
 {\r
        FILE * f;\r
-       char filename[20];\r
+       char filename[255];\r
        char * fnameptr = filename;\r
        uint8_t buf[64];\r
        int i, j, len;\r
@@ -1509,7 +1511,7 @@ int CmdHF14AMfESave(const char *Cmd)
        }       \r
 \r
        len = strlen(Cmd);\r
-       if (len > 14) len = 14;\r
+       if (len > 250) len = 250;\r
        \r
        if (len < 1) {\r
                // get filename\r
@@ -1685,7 +1687,7 @@ int CmdHF14AMfCSetBlk(const char *Cmd)
 int CmdHF14AMfCLoad(const char *Cmd)\r
 {\r
        FILE * f;\r
-       char filename[20];\r
+       char filename[255];\r
        char * fnameptr = filename;\r
        char buf[64];\r
        uint8_t buf8[64];\r
@@ -1726,7 +1728,7 @@ int CmdHF14AMfCLoad(const char *Cmd)
                return 0;\r
        } else {\r
                len = strlen(Cmd);\r
-               if (len > 14) len = 14;\r
+               if (len > 250) len = 250;\r
 \r
                memcpy(filename, Cmd, len);\r
                fnameptr += len;\r
@@ -1849,7 +1851,7 @@ int CmdHF14AMfCGetSc(const char *Cmd) {
 int CmdHF14AMfCSave(const char *Cmd) {\r
 \r
        FILE * f;\r
-       char filename[20];\r
+       char filename[255];\r
        char * fnameptr = filename;\r
        uint8_t fillFromEmulator = 0;\r
        uint8_t buf[64];\r
@@ -1891,7 +1893,7 @@ int CmdHF14AMfCSave(const char *Cmd) {
                return 0;\r
        } else {\r
                len = strlen(Cmd);\r
-               if (len > 14) len = 14;\r
+               if (len > 250) len = 250;\r
        \r
                if (len < 1) {\r
                        // get filename\r
Impressum, Datenschutz