Check return values to avoid infinite wait in loop on error.
[fw/openocd] / src / jtag / usbprog.c
index c9ade3d6215b9a6aa5e3f77773368fbe34af0ba1..6c416644bff9e12405ce247fea9583e3b3db1584 100644 (file)
@@ -370,7 +370,7 @@ static void usbprog_scan(bool ir_scan, enum scan_type type, uint8_t *buffer, int
 
 static void usbprog_write(int tck, int tms, int tdi)
 {
-       unsigned char output_value=0x00;
+       unsigned char output_value = 0x00;
 
        if (tms)
                output_value |= (1 << TMS_BIT);
@@ -435,6 +435,7 @@ struct usbprog_jtag* usbprog_jtag_open(void)
                        }
                }
        }
+       free(tmp);
        return 0;
 }
 
@@ -591,7 +592,7 @@ static void usbprog_jtag_write_tdi(struct usbprog_jtag *usbprog_jtag, char * buf
                {
                        send_bits = size;
                        loops = size/8;
-                       /* if (loops==0) */
+                       /* if (loops == 0) */
                        loops++;
                        size = 0;
                }