crypto/srp/srp_vfy.c:287: error: INTEGER_OVERFLOW_L2
  ([0, 2147483646] + 4):signed32 by call to `SRP_gN_place_bn`.
Showing all 15 steps of the trace


crypto/srp/srp_vfy.c:268:18: Call
266.       error_code = SRP_ERR_VBASE_INCOMPLETE_FILE;
267.   
268.       if ((tmpdb = TXT_DB_read(in, DB_NUMBER)) == NULL)
                        ^
269.           goto err;
270.   

crypto/txt_db/txt_db.c:55:5: Assignment
  53.       add = (num + 1) * sizeof(char *);
  54.       buf->data[size - 1] = '\0';
  55.       offset = 0;
            ^
  56.       for (;;) {
  57.           if (offset != 0) {

crypto/srp/srp_vfy.c:286:27: Call
284.                   goto err;
285.   
286.               if ((gN->id = OPENSSL_strdup(pp[DB_srpid])) == NULL
                                 ^
287.                   || (gN->N = SRP_gN_place_bn(vb->gN_cache, pp[DB_srpverifier]))
288.                           == NULL

crypto/o_str.c:27:1: Parameter `str->strlen`
  25.   }
  26.   
  27. > char *CRYPTO_strdup(const char *str, const char* file, int line)
  28.   {
  29.       char *ret;

crypto/srp/srp_vfy.c:287:29: Call
285.   
286.               if ((gN->id = OPENSSL_strdup(pp[DB_srpid])) == NULL
287.                   || (gN->N = SRP_gN_place_bn(vb->gN_cache, pp[DB_srpverifier]))
                                   ^
288.                           == NULL
289.                   || (gN->g = SRP_gN_place_bn(vb->gN_cache, pp[DB_srpsalt]))

crypto/srp/srp_vfy.c:218:1: Parameter `ch->strlen`
  216.   }
  217.   
  218. > static BIGNUM *SRP_gN_place_bn(STACK_OF(SRP_gN_cache) *gN_cache, char *ch)
  219.   {
  220.       int i;

crypto/srp/srp_vfy.c:231:31: Call
  229.       }
  230.       {                           /* it is the first time that we find it */
  231.           SRP_gN_cache *newgN = SRP_gN_new_init(ch);
                                       ^
  232.           if (newgN) {
  233.               if (sk_SRP_gN_cache_insert(gN_cache, newgN, 0) > 0)

crypto/srp/srp_vfy.c:169:1: Parameter `ch->strlen`
    167.   }
    168.   
    169. > static SRP_gN_cache *SRP_gN_new_init(const char *ch)
    170.   {
    171.       unsigned char tmp[MAX_LEN];

crypto/srp/srp_vfy.c:178:11: Call
    176.           return NULL;
    177.   
    178.       len = t_fromb64(tmp, sizeof(tmp), ch);
                     ^
    179.       if (len < 0)
    180.           goto err;

crypto/srp/srp_vfy.c:25:1: Parameter `src->strlen`
      23.    * Convert a base64 string into raw byte array representation.
      24.    */
      25. > static int t_fromb64(unsigned char *a, size_t alen, const char *src)
      26.   {
      27.       size_t size = strlen(src);

crypto/srp/srp_vfy.c:27:5: Assignment
      25.   static int t_fromb64(unsigned char *a, size_t alen, const char *src)
      26.   {
      27.       size_t size = strlen(src);
                ^
      28.   
      29.       /* Four bytes in src become three bytes output. */

crypto/srp/srp_vfy.c:33:12: Call
      31.           return -1;
      32.   
      33.       return EVP_DecodeBlock(a, (unsigned char *)src, (int)size);
                       ^
      34.   }
      35.   

crypto/evp/encode.c:351:1: <LHS trace>
349.   }
350.   
351. > int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n)
352.   {
353.       int i, ret = 0, a, b, c, d;

crypto/evp/encode.c:351:1: Parameter `n`
        349.   }
        350.   
        351. > int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n)
        352.   {
        353.       int i, ret = 0, a, b, c, d;

crypto/evp/encode.c:372:24: Binary operation: ([0, 2147483646] + 4):signed32 by call to `SRP_gN_place_bn` 
        370.           return (-1);
        371.   
        372.       for (i = 0; i < n; i += 4) {
                                      ^
        373.           a = conv_ascii2bin(*(f++));
        374.           b = conv_ascii2bin(*(f++));
