crypto/asn1_dsa.c:165: error: INTEGER_OVERFLOW_L2
  ([-oo, 18446744073709551617] + [-oo, 18446744073709551617]):unsigned64.
Showing all 9 steps of the trace


crypto/asn1_dsa.c:161:29: <LHS trace>
159.   
160.       if (len < 1
161.               || (r_der_len = encode_der_integer(r, NULL, SIZE_MAX)) == 0
                                   ^
162.               || (s_der_len = encode_der_integer(s, NULL, SIZE_MAX)) == 0)
163.           return 0;

crypto/asn1_dsa.c:161:29: Call
159.   
160.       if (len < 1
161.               || (r_der_len = encode_der_integer(r, NULL, SIZE_MAX)) == 0
                                   ^
162.               || (s_der_len = encode_der_integer(s, NULL, SIZE_MAX)) == 0)
163.           return 0;

crypto/asn1_dsa.c:103:9: Assignment
  101.   
  102.       if (len < 1 || BN_is_negative(n))
  103.           return 0;
                 ^
  104.   
  105.       /*

crypto/asn1_dsa.c:161:17: Assignment
159.   
160.       if (len < 1
161.               || (r_der_len = encode_der_integer(r, NULL, SIZE_MAX)) == 0
                       ^
162.               || (s_der_len = encode_der_integer(s, NULL, SIZE_MAX)) == 0)
163.           return 0;

crypto/asn1_dsa.c:162:29: <RHS trace>
160.       if (len < 1
161.               || (r_der_len = encode_der_integer(r, NULL, SIZE_MAX)) == 0
162.               || (s_der_len = encode_der_integer(s, NULL, SIZE_MAX)) == 0)
                                   ^
163.           return 0;
164.   

crypto/asn1_dsa.c:162:29: Call
160.       if (len < 1
161.               || (r_der_len = encode_der_integer(r, NULL, SIZE_MAX)) == 0
162.               || (s_der_len = encode_der_integer(s, NULL, SIZE_MAX)) == 0)
                                   ^
163.           return 0;
164.   

crypto/asn1_dsa.c:103:9: Assignment
  101.   
  102.       if (len < 1 || BN_is_negative(n))
  103.           return 0;
                 ^
  104.   
  105.       /*

crypto/asn1_dsa.c:162:17: Assignment
160.       if (len < 1
161.               || (r_der_len = encode_der_integer(r, NULL, SIZE_MAX)) == 0
162.               || (s_der_len = encode_der_integer(s, NULL, SIZE_MAX)) == 0)
                       ^
163.           return 0;
164.   

crypto/asn1_dsa.c:165:5: Binary operation: ([-oo, 18446744073709551617] + [-oo, 18446744073709551617]):unsigned64
163.           return 0;
164.   
165.       cont_len = r_der_len + s_der_len;
           ^
166.   
167.       if (ppout != NULL) {

size_t encode_der_dsa_sig(const BIGNUM *r, const BIGNUM *s,
                          unsigned char **ppout, size_t len)
{
    unsigned char *out = NULL;
    unsigned char **pp = NULL;
    size_t produced;
    size_t c;
    size_t r_der_len;
    size_t s_der_len;
    size_t cont_len;
    if (len < 1
            || (r_der_len = encode_der_integer(r, NULL, SIZE_MAX)) == 0
            || (s_der_len = encode_der_integer(s, NULL, SIZE_MAX)) == 0)
        return 0;
    cont_len = r_der_len + s_der_len;
    if (ppout != NULL) {
        out = *ppout;
        pp = &out;
        *out++ = ID_SEQUENCE;
    }
    produced = 1;
    if ((c = encode_der_length(cont_len, pp, len - produced)) == 0)
        return 0;
    produced += c;
    if ((c = encode_der_integer(r, pp, len - produced)) == 0)
        return 0;
    produced += c;
    if ((c = encode_der_integer(s, pp, len - produced)) == 0)
        return 0;
    produced += c;
    if (pp != NULL)
        *ppout = out;
    return produced;
}
['size_t encode_der_dsa_sig(const BIGNUM *r, const BIGNUM *s,\n                          unsigned char **ppout, size_t len)\n{\n    unsigned char *out = NULL;\n    unsigned char **pp = NULL;\n    size_t produced;\n    size_t c;\n    size_t r_der_len;\n    size_t s_der_len;\n    size_t cont_len;\n    if (len < 1\n            || (r_der_len = encode_der_integer(r, NULL, SIZE_MAX)) == 0\n            || (s_der_len = encode_der_integer(s, NULL, SIZE_MAX)) == 0)\n        return 0;\n    cont_len = r_der_len + s_der_len;\n    if (ppout != NULL) {\n        out = *ppout;\n        pp = &out;\n        *out++ = ID_SEQUENCE;\n    }\n    produced = 1;\n    if ((c = encode_der_length(cont_len, pp, len - produced)) == 0)\n        return 0;\n    produced += c;\n    if ((c = encode_der_integer(r, pp, len - produced)) == 0)\n        return 0;\n    produced += c;\n    if ((c = encode_der_integer(s, pp, len - produced)) == 0)\n        return 0;\n    produced += c;\n    if (pp != NULL)\n        *ppout = out;\n    return produced;\n}', 'size_t encode_der_integer(const BIGNUM *n, unsigned char **ppout, size_t len)\n{\n    unsigned char *out = NULL;\n    unsigned char **pp = NULL;\n    size_t produced;\n    size_t c;\n    size_t cont_len;\n    if (len < 1 || BN_is_negative(n))\n        return 0;\n    cont_len = BN_num_bits(n) / 8 + 1;\n    if (ppout != NULL) {\n        out = *ppout;\n        pp = &out;\n        *out++ = ID_INTEGER;\n    }\n    produced = 1;\n    if ((c = encode_der_length(cont_len, pp, len - produced)) == 0)\n        return 0;\n    produced += c;\n    if (cont_len > len - produced)\n        return 0;\n    if (pp != NULL) {\n        if (BN_bn2binpad(n, out, (int)cont_len) != (int)cont_len)\n            return 0;\n        out += cont_len;\n        *ppout = out;\n    }\n    produced += cont_len;\n    return produced;\n}']