mpsse: Add missing read buffer checks
[fw/openocd] / 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);