X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/534983d7352171526a6d43b112e0baaefdb1e3cd..50193c1e3eb7f904bdc4be84618b1b045539597b:/client/cmdmain.c diff --git a/client/cmdmain.c b/client/cmdmain.c index 3388d75f..c27d8406 100644 --- a/client/cmdmain.c +++ b/client/cmdmain.c @@ -26,6 +26,7 @@ unsigned int current_command = CMD_UNKNOWN; unsigned int received_command = CMD_UNKNOWN; UsbCommand current_response; +UsbCommand current_response_user; static int CmdHelp(const char *Cmd); static int CmdQuit(const char *Cmd); @@ -55,12 +56,16 @@ int CmdQuit(const char *Cmd) } UsbCommand * WaitForResponseTimeout(uint32_t response_type, uint32_t ms_timeout) { - UsbCommand * ret = ¤t_response; + UsbCommand * ret = NULL; int i=0; for(i=0; received_command != response_type && i < ms_timeout / 10; i++) { msleep(10); // XXX ugh } + + // There was evil BUG + memcpy(¤t_response_user, ¤t_response, sizeof(UsbCommand)); + ret = ¤t_response_user; if(received_command != response_type) ret = NULL;