]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - armsrc/iso14443a.c
More coverity fixes
[proxmark3-svn] / armsrc / iso14443a.c
index 9a80a17723b3ca4e6a4f392a21fc4166d5b8a9f2..01cf24868868856c3c4ca8d81e7faaf9806984d1 100644 (file)
@@ -1726,7 +1726,15 @@ int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, u
     if ((sak & 0x04) /* && uid_resp[0] == 0x88 */) {
       // Remove first byte, 0x88 is not an UID byte, it CT, see page 3 of:
       // http://www.nxp.com/documents/application_note/AN10927.pdf
-      memcpy(uid_resp, uid_resp + 1, 3);
+      // This was earlier:
+      //memcpy(uid_resp, uid_resp + 1, 3);
+      // But memcpy should not be used for overlapping arrays, 
+      // and memmove appears to not be available in the arm build. 
+      // Therefore:
+      uid_resp[0] = uid_resp[1];
+      uid_resp[1] = uid_resp[2];
+      uid_resp[2] = uid_resp[3]; 
       uid_resp_len = 3;
     }
 
@@ -1933,10 +1941,11 @@ void ReaderMifare(bool first_try)
        //byte_t par_mask = 0xff;
        static byte_t par_low = 0;
        bool led_on = TRUE;
-       uint8_t uid[10];
+       uint8_t uid[10]  ={0};
        uint32_t cuid;
 
-       uint32_t nt, previous_nt;
+       uint32_t nt =0 ;
+       uint32_t previous_nt = 0;
        static uint32_t nt_attacked = 0;
        byte_t par_list[8] = {0,0,0,0,0,0,0,0};
        byte_t ks_list[8] = {0,0,0,0,0,0,0,0};
Impressum, Datenschutz