summaryrefslogtreecommitdiff
path: root/libavcodec/xan.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/xan.c')
-rw-r--r--libavcodec/xan.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/libavcodec/xan.c b/libavcodec/xan.c
index 1c2e97cda2..33bc0b068f 100644
--- a/libavcodec/xan.c
+++ b/libavcodec/xan.c
@@ -111,12 +111,11 @@ static int xan_huffman_decode(uint8_t *dest, int dest_len,
uint8_t val = ival;
uint8_t *dest_end = dest + dest_len;
uint8_t *dest_start = dest;
+ int ret;
GetBitContext gb;
- if (ptr_len < 0)
- return AVERROR_INVALIDDATA;
-
- init_get_bits(&gb, ptr, ptr_len * 8);
+ if ((ret = init_get_bits8(&gb, ptr, ptr_len)) < 0)
+ return ret;
while (val != 0x16) {
unsigned idx = val - 0x17 + get_bits1(&gb) * byte;