diff options
-rw-r--r-- | system/embdrv/lc3/src/bits.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/system/embdrv/lc3/src/bits.c b/system/embdrv/lc3/src/bits.c index 3097aaaa03..90b2a197b1 100644 --- a/system/embdrv/lc3/src/bits.c +++ b/system/embdrv/lc3/src/bits.c @@ -139,7 +139,8 @@ int lc3_check_bits(const struct lc3_bits *bits) static inline void accu_flush( struct lc3_bits_accu *accu, struct lc3_bits_buffer *buffer) { - int nbytes = LC3_MIN(accu->n >> 3, buffer->p_bw - buffer->p_fw); + int nbytes = LC3_MIN(accu->n >> 3, + LC3_MAX(buffer->p_bw - buffer->p_fw, 0)); accu->n -= 8 * nbytes; |