crypto/dsa/dsa_asn1.c:82: error: INTEGER_OVERFLOW_L2
  ([1, +oo] - [2, 4]):unsigned64 by call to `encode_der_dsa_sig`.
Showing all 10 steps of the trace


crypto/dsa/dsa_asn1.c:79:9: Assignment
77.           pp = &tmp;
78.       } else {
79.           len = SIZE_MAX;
              ^
80.           pp = ppout;
81.       }

crypto/dsa/dsa_asn1.c:82:24: Call
80.           pp = ppout;
81.       }
82.       if ((encoded_len = encode_der_dsa_sig(sig->r, sig->s, pp, len)) == 0) {
                             ^
83.           OPENSSL_free(buf);
84.           return -1;

crypto/asn1_dsa.c:149:1: Parameter `len`
  147.    * or 0 if an error occurs.
  148.    */
  149. > size_t encode_der_dsa_sig(const BIGNUM *r, const BIGNUM *s,
  150.                             unsigned char **ppout, size_t len)
  151.   {

crypto/asn1_dsa.c:176:14: Call
  174.           return 0;
  175.       produced += c;
  176.       if ((c = encode_der_integer(r, pp, len - produced)) == 0)
                      ^
  177.           return 0;
  178.       produced += c;

crypto/asn1_dsa.c:94:1: <LHS trace>
92.    * or 0 if an error occurs.
93.    */
94. > size_t encode_der_integer(const BIGNUM *n, unsigned char **ppout, size_t len)
95.   {
96.       unsigned char *out = NULL;

crypto/asn1_dsa.c:94:1: Parameter `len`
    92.    * or 0 if an error occurs.
    93.    */
    94. > size_t encode_der_integer(const BIGNUM *n, unsigned char **ppout, size_t len)
    95.   {
    96.       unsigned char *out = NULL;

crypto/asn1_dsa.c:121:5: <RHS trace>
119.           *out++ = ID_INTEGER;
120.       }
121.       produced = 1;
           ^
122.       if ((c = encode_der_length(cont_len, pp, len - produced)) == 0)
123.           return 0;

crypto/asn1_dsa.c:121:5: Assignment
    119.           *out++ = ID_INTEGER;
    120.       }
    121.       produced = 1;
               ^
    122.       if ((c = encode_der_length(cont_len, pp, len - produced)) == 0)
    123.           return 0;

crypto/asn1_dsa.c:124:5: Assignment
    122.       if ((c = encode_der_length(cont_len, pp, len - produced)) == 0)
    123.           return 0;
    124.       produced += c;
               ^
    125.       if (cont_len > len - produced)
    126.           return 0;

crypto/asn1_dsa.c:125:9: Binary operation: ([1, +oo] - [2, 4]):unsigned64 by call to `encode_der_dsa_sig` 
    123.           return 0;
    124.       produced += c;
    125.       if (cont_len > len - produced)
                   ^
    126.           return 0;
    127.       if (pp != NULL) {
