Index: urjtag/src/tap/cable/vsllink.c
===================================================================
--- urjtag/src/tap/cable/vsllink.c	(revision 1829)
+++ urjtag/src/tap/cable/vsllink.c	(working copy)
@@ -248,6 +248,7 @@
         return URJ_STATUS_FAIL;
     }
     data = params->data;
+    memset (data, 0, sizeof (*data));
 
     if (urj_tap_usbconn_open (cable->link.usb) != URJ_STATUS_OK)
     {
@@ -295,7 +296,7 @@
         return URJ_STATUS_FAIL;
     }
 
-    data->usb_buffer[in_length] = '\0';
+    data->usb_buffer[result] = '\0';
     data->usb_buffer_size = data->usb_buffer[0] + (data->usb_buffer[1] << 8);
     if (data->usb_buffer_size < 64)
     {
