mpsse: Add missing read buffer checks
authorAndreas Fritiofson <andreas.fritiofson@gmail.com>
Wed, 10 Jul 2013 17:22:42 +0000 (19:22 +0200)
committerSpencer Oliver <spen@spen-soft.co.uk>
Thu, 1 Aug 2013 10:31:14 +0000 (10:31 +0000)
These two unused functions added reads without checking for available
space.

Change-Id: I17dbbe9988b057e5a3a1768f405fc9d1027d1c01
Signed-off-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
Reviewed-on: http://openocd.zylin.com/1500
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
src/jtag/drivers/mpsse.c

index 59927a0fe76f9085e41057fb0db8d16b2425b8cf..c5fd6d7fac1ab295e0686bfbbb83497c3a158e12 100644 (file)
@@ -602,7 +602,7 @@ void mpsse_read_data_bits_low_byte(struct mpsse_ctx *ctx, uint8_t *data)
                return;
        }
 
-       if (buffer_write_space(ctx) < 1)
+       if (buffer_write_space(ctx) < 1 || buffer_read_space(ctx) < 1)
                ctx->retval = mpsse_flush(ctx);
 
        buffer_write_byte(ctx, 0x81);
@@ -618,7 +618,7 @@ void mpsse_read_data_bits_high_byte(struct mpsse_ctx *ctx, uint8_t *data)
                return;
        }
 
-       if (buffer_write_space(ctx) < 1)
+       if (buffer_write_space(ctx) < 1 || buffer_read_space(ctx) < 1)
                ctx->retval = mpsse_flush(ctx);
 
        buffer_write_byte(ctx, 0x83);