libavcodec/ra144.c:89: error: Buffer Overrun L3
  Offset: [-8, 8] Size: 10.

libavcodec/ra144.c:85:10: <Offset trace>
83.     int x, y;
84. 
85.     for (x=0; x < 10; x++) {
             ^
86.         b1[x] = a1[x] << 4;
87. 

libavcodec/ra144.c:85:10: Assignment
83.     int x, y;
84. 
85.     for (x=0; x < 10; x++) {
             ^
86.         b1[x] = a1[x] << 4;
87. 

libavcodec/ra144.c:78:1: <Length trace>
76. 
77. /* do 'voice' */
78. static void do_voice(const int *a1, int *a2)
    ^
79. {
80.     int buffer[10];

libavcodec/ra144.c:78:1: Parameter `*a2`
76. 
77. /* do 'voice' */
78. static void do_voice(const int *a1, int *a2)
    ^
79. {
80.     int buffer[10];

libavcodec/ra144.c:82:5: Assignment
80.     int buffer[10];
81.     int *b1 = buffer;
82.     int *b2 = a2;
        ^
83.     int x, y;
84. 

libavcodec/ra144.c:89:31: Array access: Offset: [-8, 8] Size: 10
87. 
88.         for (y=0; y < x; y++)
89.             b1[y] = ((a1[x] * b2[x-y-1]) >> 12) + b2[y];
                                  ^
90. 
91.         FFSWAP(int *, b1, b2);

static void do_voice(const int *a1, int *a2)
{
    int buffer[10];
    int *b1 = buffer;
    int *b2 = a2;
    int x, y;
    for (x=0; x < 10; x++) {
        b1[x] = a1[x] << 4;
        for (y=0; y < x; y++)
            b1[y] = ((a1[x] * b2[x-y-1]) >> 12) + b2[y];
        FFSWAP(int *, b1, b2);
    }
    for (x=0; x < 10; x++)
        a2[x] >>= 4;
}
['static void do_voice(const int *a1, int *a2)\n{\n    int buffer[10];\n    int *b1 = buffer;\n    int *b2 = a2;\n    int x, y;\n    for (x=0; x < 10; x++) {\n        b1[x] = a1[x] << 4;\n        for (y=0; y < x; y++)\n            b1[y] = ((a1[x] * b2[x-y-1]) >> 12) + b2[y];\n        FFSWAP(int *, b1, b2);\n    }\n    for (x=0; x < 10; x++)\n        a2[x] >>= 4;\n}']