libavcodec/huffman.c:67: error: Buffer Overrun L2
  Offset: [2, 256] Size: 256 by call to `heap_sift`.

libavcodec/huffman.c:53:1: Array declaration
51. }
52. 
53. void ff_huff_gen_len_table(uint8_t *dst, const uint64_t *stats)
    ^
54. {
55.     HeapElem h[256];

libavcodec/huffman.c:67:13: Call
65.         }
66.         for (i = size / 2 - 1; i >= 0; i--)
67.             heap_sift(h, i, size);
                ^
68. 
69.         for (next = size; next < size * 2 - 1; next++) {

libavcodec/huffman.c:39:1: <Offset trace>
37. } HeapElem;
38. 
39. static void heap_sift(HeapElem *h, int root, int size)
    ^
40. {
41.     while (root * 2 + 1 < size) {

libavcodec/huffman.c:39:1: Parameter `size`
  37. } HeapElem;
  38. 
  39. static void heap_sift(HeapElem *h, int root, int size)
      ^
  40. {
  41.     while (root * 2 + 1 < size) {

libavcodec/huffman.c:39:1: <Length trace>
37. } HeapElem;
38. 
39. static void heap_sift(HeapElem *h, int root, int size)
    ^
40. {
41.     while (root * 2 + 1 < size) {

libavcodec/huffman.c:39:1: Parameter `*h`
  37. } HeapElem;
  38. 
  39. static void heap_sift(HeapElem *h, int root, int size)
      ^
  40. {
  41.     while (root * 2 + 1 < size) {

libavcodec/huffman.c:43:48: Array access: Offset: [2, 256] Size: 256 by call to `heap_sift` 
  41.     while (root * 2 + 1 < size) {
  42.         int child = root * 2 + 1;
  43.         if (child < size - 1 && h[child].val > h[child+1].val)
                                                     ^
  44.             child++;
  45.         if (h[root].val > h[child].val) {
