]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/cmdhfmf.c
FIX: Coverity, resource leak, CID #121357, Mat needs to be free
[proxmark3-svn] / client / cmdhfmf.c
index a322e664e15a414f6a0575bfb9403c5f06bd4476..267f323cce9e551ca29374c2c2ffd70ac465a47b 100644 (file)
@@ -988,6 +988,7 @@ int CmdHF14AMfChk(const char *Cmd)
                break;\r
        default:\r
                PrintAndLog("Key type must be A , B or ?");\r
+               free(keyBlock);\r
                return 1;\r
        };\r
        \r
@@ -1039,6 +1040,7 @@ int CmdHF14AMfChk(const char *Cmd)
                                                if (!p) {\r
                                                        PrintAndLog("Cannot allocate memory for defKeys");\r
                                                        free(keyBlock);\r
+                                                       free(f);\r
                                                        return 2;\r
                                                }\r
                                                keyBlock = p;\r
@@ -1224,10 +1226,10 @@ int CmdHF14AMf1kSim(const char *Cmd)
                                                corr_uid |= (uint64_t)data[2] << 48; \r
                                                corr_uid |= (uint64_t)data[1] << 40; \r
                                                corr_uid |= (uint64_t)data[0] << 32;\r
-                                               corr_uid |= data[7] << 24;\r
-                                               corr_uid |= data[6] << 16;\r
-                                               corr_uid |= data[5] << 8;\r
-                                               corr_uid |= data[4];\r
+                                               corr_uid |= (uint64_t)data[7] << 24;\r
+                                               corr_uid |= (uint64_t)data[6] << 16;\r
+                                               corr_uid |= (uint64_t)data[5] << 8;\r
+                                               corr_uid |= (uint64_t)data[4];\r
                                tryMfk64(corr_uid, data, key);\r
                                        }\r
                                        PrintAndLog("--");\r
@@ -1364,7 +1366,7 @@ int CmdHF14AMfELoad(const char *Cmd)
 \r
        len = param_getstr(Cmd,nameParamNo,filename);\r
        \r
-       if (len > FILE_PATH_SIZE - 4) len = FILE_PATH_SIZE - 4;\r
+       if (len > FILE_PATH_SIZE - 5) len = FILE_PATH_SIZE - 5;\r
 \r
        fnameptr += len;\r
 \r
@@ -1461,7 +1463,7 @@ int CmdHF14AMfESave(const char *Cmd)
 \r
        len = param_getstr(Cmd,nameParamNo,filename);\r
        \r
-       if (len > FILE_PATH_SIZE - 4) len = FILE_PATH_SIZE - 4;\r
+       if (len > FILE_PATH_SIZE - 5) len = FILE_PATH_SIZE - 5;\r
        \r
        // user supplied filename?\r
        if (len < 1) {\r
@@ -1738,7 +1740,7 @@ int CmdHF14AMfCLoad(const char *Cmd)
                return 0;\r
        } else {\r
                len = strlen(Cmd);\r
-               if (len > FILE_PATH_SIZE - 4) len = FILE_PATH_SIZE - 4;\r
+               if (len > FILE_PATH_SIZE - 5) len = FILE_PATH_SIZE - 5;\r
 \r
                memcpy(filename, Cmd, len);\r
                fnameptr += len;\r
@@ -1908,7 +1910,7 @@ int CmdHF14AMfCSave(const char *Cmd) {
                return 0;\r
        } else {\r
                len = strlen(Cmd);\r
-               if (len > FILE_PATH_SIZE - 4) len = FILE_PATH_SIZE - 4;\r
+               if (len > FILE_PATH_SIZE - 5) len = FILE_PATH_SIZE - 5;\r
        \r
                // get filename based on UID\r
                if (len < 1) {\r
Impressum, Datenschutz