summaryrefslogtreecommitdiff
path: root/system/embdrv/lc3/src/bits.c
diff options
context:
space:
mode:
Diffstat (limited to 'system/embdrv/lc3/src/bits.c')
-rw-r--r--system/embdrv/lc3/src/bits.c3
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;