OSDN Git Service

sbc: use an uint16 to store frame length in internal frame structure
authorAurélien Zanelli <aurelien.zanelli@parrot.com>
Thu, 23 Oct 2014 14:32:21 +0000 (16:32 +0200)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 24 Oct 2014 14:56:46 +0000 (17:56 +0300)
Otherwise it could overflow in some cases.
For instance in DUAL_CHANNEL mode, with subbands set to SBC_SB_8, blocks
set to SBC_BLK_16 and bitpool set to 64 results in a frame length of 268.

sbc/sbc.c

index e830388..606f11c 100644 (file)
--- a/sbc/sbc.c
+++ b/sbc/sbc.c
@@ -119,7 +119,7 @@ struct sbc_frame {
        uint8_t subbands;
        uint8_t bitpool;
        uint16_t codesize;
-       uint8_t length;
+       uint16_t length;
 
        /* bit number x set means joint stereo has been used in subband x */
        uint8_t joint;