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


crypto/srp/srp_vfy.c:313:22: Call
311.   
312.                   SRP_user_pwd_set_gN(user_pwd, lgN->g, lgN->N);
313.                   if (!SRP_user_pwd_set_ids
                            ^
314.                       (user_pwd, pp[DB_srpid], pp[DB_srpinfo]))
315.                       goto err;

crypto/srp/srp_vfy.c:80:1: Parameter `id->strlen`
  78.   }
  79.   
  80. > static int SRP_user_pwd_set_ids(SRP_user_pwd *vinfo, const char *id,
  81.                                   const char *info)
  82.   {

crypto/srp/srp_vfy.c:83:44: Call
  81.                                   const char *info)
  82.   {
  83.       if (id != NULL && NULL == (vinfo->id = OPENSSL_strdup(id)))
                                                   ^
  84.           return 0;
  85.       return (info == NULL || NULL != (vinfo->info = OPENSSL_strdup(info)));

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:318:22: Call
316.   
317.                   error_code = SRP_ERR_VBASE_BN_LIB;
318.                   if (!SRP_user_pwd_set_sv
                            ^
319.                       (user_pwd, pp[DB_srpsalt], pp[DB_srpverifier]))
320.                       goto err;

crypto/srp/srp_vfy.c:88:1: Parameter `v->strlen`
  86.   }
  87.   
  88. > static int SRP_user_pwd_set_sv(SRP_user_pwd *vinfo, const char *s,
  89.                                  const char *v)
  90.   {

crypto/srp/srp_vfy.c:97:11: Call
  95.       vinfo->s = NULL;
  96.   
  97.       len = t_fromb64(tmp, sizeof(tmp), v);
                   ^
  98.       if (len < 0)
  99.           return 0;

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

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

crypto/srp/srp_vfy.c:37:12: Call
    35.           return -1;
    36.   
    37.       return EVP_DecodeBlock(a, (unsigned char *)src, (int)size);
                     ^
    38.   }
    39.   

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_user_pwd_set_sv` 
      370.           return -1;
      371.   
      372.       for (i = 0; i < n; i += 4) {
                                    ^
      373.           a = conv_ascii2bin(*(f++));
      374.           b = conv_ascii2bin(*(f++));
