libavcodec/opus_celt.c:1057: error: Integer Overflow L2
  ([0, +oo] - 1):unsigned32 by call to `celt_exp_rotation1`.

libavcodec/opus_celt.c:1030:5: Assignment
1028.                                      enum CeltSpread spread)
1029. {
1030.     unsigned int stride2 = 0;
          ^
1031.     float c, s;
1032.     float gain, theta;

libavcodec/opus_celt.c:1057:13: Call
1055.     for (i = 0; i < stride; i++) {
1056.         if (stride2)
1057.             celt_exp_rotation1(X + i * len, len, stride2, s, c);
                  ^
1058.         celt_exp_rotation1(X + i * len, len, 1, c, s);
1059.     }

libavcodec/opus_celt.c:1001:1: <LHS trace>
 999. }
1000. 
1001. static void celt_exp_rotation1(float *X, unsigned int len, unsigned int stride,
      ^
1002.                                float c, float s)
1003. {

libavcodec/opus_celt.c:1001:1: Parameter `stride`
   999. }
  1000. 
  1001. static void celt_exp_rotation1(float *X, unsigned int len, unsigned int stride,
        ^
  1002.                                float c, float s)
  1003. {

libavcodec/opus_celt.c:1016:5: Binary operation: ([0, +oo] - 1):unsigned32 by call to `celt_exp_rotation1` 
  1014.     }
  1015. 
  1016.     Xptr = &X[len - 2 * stride - 1];
            ^
  1017.     for (i = len - 2 * stride - 1; i >= 0; i--) {
  1018.         float x1, x2;

static void celt_exp_rotation1(float *X, unsigned int len, unsigned int stride,
                               float c, float s)
{
    float *Xptr;
    int i;
    Xptr = X;
    for (i = 0; i < len - stride; i++) {
        float x1, x2;
        x1           = Xptr[0];
        x2           = Xptr[stride];
        Xptr[stride] = c * x2 + s * x1;
        *Xptr++      = c * x1 - s * x2;
    }
    Xptr = &X[len - 2 * stride - 1];
    for (i = len - 2 * stride - 1; i >= 0; i--) {
        float x1, x2;
        x1           = Xptr[0];
        x2           = Xptr[stride];
        Xptr[stride] = c * x2 + s * x1;
        *Xptr--      = c * x1 - s * x2;
    }
}
['static inline void celt_exp_rotation(float *X, unsigned int len,\n                                     unsigned int stride, unsigned int K,\n                                     enum CeltSpread spread)\n{\n    unsigned int stride2 = 0;\n    float c, s;\n    float gain, theta;\n    int i;\n    if (2*K >= len || spread == CELT_SPREAD_NONE)\n        return;\n    gain = (float)len / (len + (20 - 5*spread) * K);\n    theta = M_PI * gain * gain / 4;\n    c = cos(theta);\n    s = sin(theta);\n    if (len >= stride << 3) {\n        stride2 = 1;\n        while ((stride2 * stride2 + stride2) * stride + (stride >> 2) < len)\n            stride2++;\n    }\n    len /= stride;\n    for (i = 0; i < stride; i++) {\n        if (stride2)\n            celt_exp_rotation1(X + i * len, len, stride2, s, c);\n        celt_exp_rotation1(X + i * len, len, 1, c, s);\n    }\n}', 'static void celt_exp_rotation1(float *X, unsigned int len, unsigned int stride,\n                               float c, float s)\n{\n    float *Xptr;\n    int i;\n    Xptr = X;\n    for (i = 0; i < len - stride; i++) {\n        float x1, x2;\n        x1           = Xptr[0];\n        x2           = Xptr[stride];\n        Xptr[stride] = c * x2 + s * x1;\n        *Xptr++      = c * x1 - s * x2;\n    }\n    Xptr = &X[len - 2 * stride - 1];\n    for (i = len - 2 * stride - 1; i >= 0; i--) {\n        float x1, x2;\n        x1           = Xptr[0];\n        x2           = Xptr[stride];\n        Xptr[stride] = c * x2 + s * x1;\n        *Xptr--      = c * x1 - s * x2;\n    }\n}']