crypto/aes/aes_core.c:1342: error: INTEGER_OVERFLOW_L2
  ([0, 2155905152] - [0, 16843009]):unsigned32.
Showing all 9 steps of the trace


crypto/aes/aes_core.c:1337:13: <LHS trace>
1335.               u32 tp1, tp2, tp4, tp8, tp9, tpb, tpd, tpe, m;
1336.   
1337.               tp1 = rk[j];
                    ^
1338.               m = tp1 & 0x80808080;
1339.               tp2 = ((tp1 & 0x7f7f7f7f) << 1) ^

crypto/aes/aes_core.c:1337:13: Assignment
1335.               u32 tp1, tp2, tp4, tp8, tp9, tpb, tpd, tpe, m;
1336.   
1337.               tp1 = rk[j];
                    ^
1338.               m = tp1 & 0x80808080;
1339.               tp2 = ((tp1 & 0x7f7f7f7f) << 1) ^

crypto/aes/aes_core.c:1339:13: Assignment
1337.               tp1 = rk[j];
1338.               m = tp1 & 0x80808080;
1339.               tp2 = ((tp1 & 0x7f7f7f7f) << 1) ^
                    ^
1340.                   ((m - (m >> 7)) & 0x1b1b1b1b);
1341.               m = tp2 & 0x80808080;

crypto/aes/aes_core.c:1341:13: Assignment
1339.               tp2 = ((tp1 & 0x7f7f7f7f) << 1) ^
1340.                   ((m - (m >> 7)) & 0x1b1b1b1b);
1341.               m = tp2 & 0x80808080;
                    ^
1342.               tp4 = ((tp2 & 0x7f7f7f7f) << 1) ^
1343.                   ((m - (m >> 7)) & 0x1b1b1b1b);

crypto/aes/aes_core.c:1337:13: <RHS trace>
1335.               u32 tp1, tp2, tp4, tp8, tp9, tpb, tpd, tpe, m;
1336.   
1337.               tp1 = rk[j];
                    ^
1338.               m = tp1 & 0x80808080;
1339.               tp2 = ((tp1 & 0x7f7f7f7f) << 1) ^

crypto/aes/aes_core.c:1337:13: Assignment
1335.               u32 tp1, tp2, tp4, tp8, tp9, tpb, tpd, tpe, m;
1336.   
1337.               tp1 = rk[j];
                    ^
1338.               m = tp1 & 0x80808080;
1339.               tp2 = ((tp1 & 0x7f7f7f7f) << 1) ^

crypto/aes/aes_core.c:1339:13: Assignment
1337.               tp1 = rk[j];
1338.               m = tp1 & 0x80808080;
1339.               tp2 = ((tp1 & 0x7f7f7f7f) << 1) ^
                    ^
1340.                   ((m - (m >> 7)) & 0x1b1b1b1b);
1341.               m = tp2 & 0x80808080;

crypto/aes/aes_core.c:1341:13: Assignment
1339.               tp2 = ((tp1 & 0x7f7f7f7f) << 1) ^
1340.                   ((m - (m >> 7)) & 0x1b1b1b1b);
1341.               m = tp2 & 0x80808080;
                    ^
1342.               tp4 = ((tp2 & 0x7f7f7f7f) << 1) ^
1343.                   ((m - (m >> 7)) & 0x1b1b1b1b);

crypto/aes/aes_core.c:1342:13: Binary operation: ([0, 2155905152] - [0, 16843009]):unsigned32
1340.                   ((m - (m >> 7)) & 0x1b1b1b1b);
1341.               m = tp2 & 0x80808080;
1342.               tp4 = ((tp2 & 0x7f7f7f7f) << 1) ^
                    ^
1343.                   ((m - (m >> 7)) & 0x1b1b1b1b);
1344.               m = tp4 & 0x80808080;

int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
                        AES_KEY *key)
{
    u32 *rk;
    int i, j, status;
    u32 temp;
    status = AES_set_encrypt_key(userKey, bits, key);
    if (status < 0)
        return status;
    rk = key->rd_key;
    for (i = 0, j = 4*(key->rounds); i < j; i += 4, j -= 4) {
        temp = rk[i    ]; rk[i    ] = rk[j    ]; rk[j    ] = temp;
        temp = rk[i + 1]; rk[i + 1] = rk[j + 1]; rk[j + 1] = temp;
        temp = rk[i + 2]; rk[i + 2] = rk[j + 2]; rk[j + 2] = temp;
        temp = rk[i + 3]; rk[i + 3] = rk[j + 3]; rk[j + 3] = temp;
    }
    for (i = 1; i < (key->rounds); i++) {
        rk += 4;
        for (j = 0; j < 4; j++) {
            u32 tp1, tp2, tp4, tp8, tp9, tpb, tpd, tpe, m;
            tp1 = rk[j];
            m = tp1 & 0x80808080;
            tp2 = ((tp1 & 0x7f7f7f7f) << 1) ^
                ((m - (m >> 7)) & 0x1b1b1b1b);
            m = tp2 & 0x80808080;
            tp4 = ((tp2 & 0x7f7f7f7f) << 1) ^
                ((m - (m >> 7)) & 0x1b1b1b1b);
            m = tp4 & 0x80808080;
            tp8 = ((tp4 & 0x7f7f7f7f) << 1) ^
                ((m - (m >> 7)) & 0x1b1b1b1b);
            tp9 = tp8 ^ tp1;
            tpb = tp9 ^ tp2;
            tpd = tp9 ^ tp4;
            tpe = tp8 ^ tp4 ^ tp2;
#if defined(ROTATE)
            rk[j] = tpe ^ ROTATE(tpd,16) ^
                ROTATE(tp9,24) ^ ROTATE(tpb,8);
#else
            rk[j] = tpe ^ (tpd >> 16) ^ (tpd << 16) ^
                (tp9 >> 8) ^ (tp9 << 24) ^
                (tpb >> 24) ^ (tpb << 8);
#endif
        }
    }
    return 0;
}
['int AES_set_decrypt_key(const unsigned char *userKey, const int bits,\n                        AES_KEY *key)\n{\n    u32 *rk;\n    int i, j, status;\n    u32 temp;\n    status = AES_set_encrypt_key(userKey, bits, key);\n    if (status < 0)\n        return status;\n    rk = key->rd_key;\n    for (i = 0, j = 4*(key->rounds); i < j; i += 4, j -= 4) {\n        temp = rk[i    ]; rk[i    ] = rk[j    ]; rk[j    ] = temp;\n        temp = rk[i + 1]; rk[i + 1] = rk[j + 1]; rk[j + 1] = temp;\n        temp = rk[i + 2]; rk[i + 2] = rk[j + 2]; rk[j + 2] = temp;\n        temp = rk[i + 3]; rk[i + 3] = rk[j + 3]; rk[j + 3] = temp;\n    }\n    for (i = 1; i < (key->rounds); i++) {\n        rk += 4;\n        for (j = 0; j < 4; j++) {\n            u32 tp1, tp2, tp4, tp8, tp9, tpb, tpd, tpe, m;\n            tp1 = rk[j];\n            m = tp1 & 0x80808080;\n            tp2 = ((tp1 & 0x7f7f7f7f) << 1) ^\n                ((m - (m >> 7)) & 0x1b1b1b1b);\n            m = tp2 & 0x80808080;\n            tp4 = ((tp2 & 0x7f7f7f7f) << 1) ^\n                ((m - (m >> 7)) & 0x1b1b1b1b);\n            m = tp4 & 0x80808080;\n            tp8 = ((tp4 & 0x7f7f7f7f) << 1) ^\n                ((m - (m >> 7)) & 0x1b1b1b1b);\n            tp9 = tp8 ^ tp1;\n            tpb = tp9 ^ tp2;\n            tpd = tp9 ^ tp4;\n            tpe = tp8 ^ tp4 ^ tp2;\n#if defined(ROTATE)\n            rk[j] = tpe ^ ROTATE(tpd,16) ^\n                ROTATE(tp9,24) ^ ROTATE(tpb,8);\n#else\n            rk[j] = tpe ^ (tpd >> 16) ^ (tpd << 16) ^\n                (tp9 >> 8) ^ (tp9 << 24) ^\n                (tpb >> 24) ^ (tpb << 8);\n#endif\n        }\n    }\n    return 0;\n}']