X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/fe7bfa785696615de44fd896214182446a664646..28afbd2bee49027d042030bfce07db2db8c7508b:/client/proxmark3.c diff --git a/client/proxmark3.c b/client/proxmark3.c index 949013ec..78bc1fe4 100644 --- a/client/proxmark3.c +++ b/client/proxmark3.c @@ -21,8 +21,8 @@ #include "proxgui.h" #include "cmdmain.h" #include "uart.h" -#include "messages.h" #include "ui.h" +#include "sleep.h" static serial_port sp; static UsbCommand txcmd; @@ -144,7 +144,7 @@ static void *main_loop(void *targ) { nl = strrchr(script_cmd_buf, '\n'); if (nl) *nl = '\0'; - if ((cmd = (char*) malloc(strlen(script_cmd_buf))) != NULL) + if ((cmd = (char*) malloc(strlen(script_cmd_buf) + 1)) != NULL) { memset(cmd, 0, strlen(script_cmd_buf)); strcpy(cmd, script_cmd_buf); @@ -196,6 +196,7 @@ static void *main_loop(void *targ) { } int main(int argc, char* argv[]) { + srand(time(0)); if (argc < 2) { printf("syntax: %s \n\n",argv[0]); @@ -220,11 +221,16 @@ int main(int argc, char* argv[]) { offline = 0; } */ + sp = uart_open(argv[1]); if (sp == INVALID_SERIAL_PORT) { printf("ERROR: invalid serial port\n"); marg.usb_present = 0; offline = 1; + } else if (sp == CLAIMED_SERIAL_PORT) { + printf("ERROR: serial port is claimed by another process\n"); + marg.usb_present = 0; + offline = 1; } else { marg.usb_present = 1; offline = 0;