]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/desfire_crypto.c
add: added a test function for nonce distance
[proxmark3-svn] / armsrc / desfire_crypto.c
index 8bb8034838afb89e82fad9e7378e0dda11c9636f..acce980f3b768e3fe48f4f24ef4fd1e416ccd44e 100644 (file)
@@ -84,6 +84,7 @@ void cmac (const desfirekey_t key, uint8_t *ivect, const uint8_t *data, size_t l
     mifare_cypher_blocks_chained (NULL, key, ivect, buffer, len, MCD_SEND, MCO_ENCYPHER);
 
     memcpy (cmac, ivect, kbs);
+       free(buffer);
 }
 
 size_t key_block_size (const desfirekey_t key) {
@@ -225,8 +226,8 @@ void* mifare_cryto_preprocess_data (desfiretag_t tag, void *data, size_t *nbytes
             cmac (key, DESFIRE (tag)->ivect, res, *nbytes, DESFIRE (tag)->cmac);
 
             if (append_mac) {
-                maced_data_length (key, *nbytes);
-
+                size_t len = maced_data_length (key, *nbytes);
+                               ++len;
                 memcpy (res, data, *nbytes);
                 memcpy (res + *nbytes, DESFIRE (tag)->cmac, CMAC_LENGTH);
                 *nbytes += CMAC_LENGTH;
Impressum, Datenschutz