]> cvs.zerfleddert.de Git - proxmark3-svn/blobdiff - client/flasher.c
Fix memory bounds error
[proxmark3-svn] / client / flasher.c
index d6d37706cf3b5b4d367664427cb93a4d6df94277..f257d994517b4c6a7a5675a83c5f4f13890cfac7 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 #include <inttypes.h>
-#include "sleep.h"
 #include "proxmark3.h"
+#include "util.h"
+#include "util_posix.h"
 #include "flash.h"
 #include "uart.h"
 #include "usb_cmd.h"
 
 #ifdef _WIN32
 # define unlink(x)
+#else
+# include <unistd.h>
 #endif
 
 static serial_port sp;
@@ -51,8 +54,7 @@ void ReceiveCommand(UsbCommand* rxcmd) {
   byte_t* prx = prxcmd;
   size_t rxlen;
   while (true) {
-    rxlen = sizeof(UsbCommand) - (prx-prxcmd);
-    if (uart_receive(sp,prx,&rxlen)) {
+    if (uart_receive(sp, prx, sizeof(UsbCommand) - (prx-prxcmd), &rxlen)) {
       prx += rxlen;
       if ((prx-prxcmd) >= sizeof(UsbCommand)) {
         return;
@@ -128,7 +130,7 @@ int main(int argc, char **argv)
   
   fprintf(stderr,"Waiting for Proxmark to appear on %s",serial_port_name);
   do {
-    sleep(1);
+    msleep(1000);
     fprintf(stderr, ".");
   } while (!OpenProxmark(0));
   fprintf(stderr," Found.\n");
Impressum, Datenschutz