diff options
Diffstat (limited to 'sbc')
-rw-r--r-- | sbc/sbc.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -28,7 +28,6 @@ use a log2 table for byte integer scale factors calculation (sum log2 results for high and low bytes) fill bitpool by 16 bits instead of one at a time in bits allocation/bitpool generation port to the dsp - don't consume more bytes than passed into the encoder */ @@ -1390,6 +1389,10 @@ int sbc_encode(sbc_t *sbc, void *data, int count) priv->init = 1; } + /* input must be large enough to encode a complete frame */ + if (count < priv->frame.subbands * priv->frame.blocks * sbc->channels * 2) + return 0; + ptr = data; for (i = 0; i < priv->frame.subbands * priv->frame.blocks; i++) { |