X-Git-Url: https://git.cryptolib.org/?p=labortage2013badge.git;a=blobdiff_plain;f=hostware%2Fcommandline%2Fmain.c;h=2b144b3f7c5fa7db6b7ed7ae0fb5f6b4a10aa91a;hp=202dbeea6e92390411421fade9c54251631a3281;hb=989132e4e29409958b52ba5ccd4e20ce1d0e8442;hpb=48646597db7ce609b6a3e0ba3d44a4723587cc0c diff --git a/hostware/commandline/main.c b/hostware/commandline/main.c index 202dbee..2b144b3 100644 --- a/hostware/commandline/main.c +++ b/hostware/commandline/main.c @@ -78,7 +78,7 @@ void set_dbg(char *hex_string){ } void get_dbg(char *param){ - uint16_t buffer[256]; + uint8_t buffer[256]; int cnt; cnt = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, CUSTOM_RQ_GET_DBG, 0, 0, (char*)buffer, 256, 5000); printf("DBG-Buffer:\n"); @@ -167,7 +167,7 @@ void get_token(char *param){ char token[10]; int cnt; cnt = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, CUSTOM_RQ_GET_TOKEN, 0, 0, token, 9, 5000); - if (cnt < 9 ) { + if (cnt <= 9 ) { token[cnt] = '\0'; printf("token = %s\n", token); } else { @@ -191,11 +191,15 @@ void read_button(char* param){ } void get_secret(char *param){ - uint16_t buffer[256]; + uint8_t buffer[64]; int cnt; - cnt = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, CUSTOM_RQ_GET_SECRET, 0, 0, (char*)buffer, 256, 5000); - printf("Secret:\n"); - hexdump_block(stdout, buffer, 0, cnt, 16); + cnt = usb_control_msg(handle, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN, CUSTOM_RQ_GET_SECRET, 0, 0, (char*)buffer, 32, 5000); + if (cnt > 0) { + printf("Secret (%d):\n", cnt); + hexdump_block(stdout, buffer, NULL, cnt, 16); + } else { + fprintf(stderr, "Error: usb_control_msg(...) returned %d\n", cnt); + } }