]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhfmf.c
minor adjustments to hf mfu
[proxmark3-svn] / client / cmdhfmf.c
index b96c9c1a78f8e180a9b831574e377998d005787f..aa3b66dc64b960f2bf855b62257f904b26196a4e 100644 (file)
@@ -547,7 +547,7 @@ int CmdHF14AMfNested(const char *Cmd)
        uint8_t trgKeyType = 0;\r
        uint8_t SectorsCnt = 0;\r
        uint8_t key[6] = {0, 0, 0, 0, 0, 0};\r
-       uint8_t keyBlock[13*6];\r
+       uint8_t keyBlock[14*6];\r
        uint64_t key64 = 0;\r
        bool transferToEml = false;\r
        \r
@@ -1202,7 +1202,7 @@ int CmdHF14AMfELoad(const char *Cmd)
        \r
        if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;\r
 \r
-       fnameptr += len;\r
+       fnameptr += len-4;\r
 \r
        sprintf(fnameptr, ".eml"); \r
        \r
@@ -1311,7 +1311,7 @@ int CmdHF14AMfESave(const char *Cmd)
                for (j = 0; j < 7; j++, fnameptr += 2)\r
                        sprintf(fnameptr, "%02X", buf[j]); \r
        } else {\r
-               fnameptr += len;\r
+               fnameptr += len-4;\r
        }\r
 \r
        // add file extension\r
@@ -1575,7 +1575,7 @@ int CmdHF14AMfCLoad(const char *Cmd)
                if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;\r
 \r
                memcpy(filename, Cmd, len);\r
-               fnameptr += len;\r
+               fnameptr += len-4;\r
 \r
                sprintf(fnameptr, ".eml"); \r
        \r
@@ -1592,6 +1592,7 @@ int CmdHF14AMfCLoad(const char *Cmd)
                        memset(buf, 0, sizeof(buf));\r
                        \r
                        if (fgets(buf, sizeof(buf), f) == NULL) {\r
+                               fclose(f);\r
                                PrintAndLog("File reading error.");\r
                                return 2;\r
                        }\r
@@ -1600,6 +1601,7 @@ int CmdHF14AMfCLoad(const char *Cmd)
                                if(strlen(buf) && feof(f))\r
                                        break;\r
                                PrintAndLog("File content error. Block data must include 32 HEX symbols");\r
+                               fclose(f);\r
                                return 2;\r
                        }\r
                        for (i = 0; i < 32; i += 2)\r
Impressum, Datenschutz