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

libavcodec/huffyuv.c:234:1: Array declaration
232. }
233. 
234. static void generate_len_table(uint8_t *dst, const uint64_t *stats){
     ^
235.     HeapElem h[256];
236.     int up[2*256];

libavcodec/huffyuv.c:247:13: Call
245.         }
246.         for(i=size/2-1; i>=0; i--)
247.             heap_sift(h, i, size);
                 ^
248. 
249.         for(next=size; next<size*2-1; next++){

libavcodec/huffyuv.c:220:1: <Offset trace>
218. } HeapElem;
219. 
220. static void heap_sift(HeapElem *h, int root, int size)
     ^
221. {
222.     while(root*2+1 < size) {

libavcodec/huffyuv.c:220:1: Parameter `size`
  218. } HeapElem;
  219. 
  220. static void heap_sift(HeapElem *h, int root, int size)
       ^
  221. {
  222.     while(root*2+1 < size) {

libavcodec/huffyuv.c:220:1: <Length trace>
218. } HeapElem;
219. 
220. static void heap_sift(HeapElem *h, int root, int size)
     ^
221. {
222.     while(root*2+1 < size) {

libavcodec/huffyuv.c:220:1: Parameter `*h`
  218. } HeapElem;
  219. 
  220. static void heap_sift(HeapElem *h, int root, int size)
       ^
  221. {
  222.     while(root*2+1 < size) {

libavcodec/huffyuv.c:224:45: Array access: Offset: [2, 256] Size: 256 by call to `heap_sift` 
  222.     while(root*2+1 < size) {
  223.         int child = root*2+1;
  224.         if(child < size-1 && h[child].val > h[child+1].val)
                                                   ^
  225.             child++;
  226.         if(h[root].val > h[child].val) {
