ssl/statem/statem_srvr.c:2205: error: BUFFER_OVERRUN_L3
  Offset: [2, +oo] Size: [1, +oo].
Showing all 11 steps of the trace


ssl/statem/statem_srvr.c:2204:10: <Offset trace>
2202.       decrypt_good = constant_time_eq_int_8(rsa_decrypt[0], 0) &
2203.           constant_time_eq_int_8(rsa_decrypt[1], 2);
2204.       for (j = 2; j < padding_len - 1; j++) {
                 ^
2205.           decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);
2206.       }

ssl/statem/statem_srvr.c:2204:10: Assignment
2202.       decrypt_good = constant_time_eq_int_8(rsa_decrypt[0], 0) &
2203.           constant_time_eq_int_8(rsa_decrypt[1], 2);
2204.       for (j = 2; j < padding_len - 1; j++) {
                 ^
2205.           decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);
2206.       }

ssl/statem/statem_srvr.c:2160:19: <Length trace>
2158.       }
2159.   
2160.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                          ^
2161.       if (rsa_decrypt == NULL) {
2162.           *al = SSL_AD_INTERNAL_ERROR;

ssl/statem/statem_srvr.c:2160:19: Call
2158.       }
2159.   
2160.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                          ^
2161.       if (rsa_decrypt == NULL) {
2162.           *al = SSL_AD_INTERNAL_ERROR;

crypto/rsa/rsa_crpt.c:25:13: Call
  23.   int RSA_size(const RSA *r)
  24.   {
  25.       return (BN_num_bytes(r->n));
                    ^
  26.   }
  27.   

crypto/bn/bn_lib.c:167:9: Assignment
    165.   
    166.       if (BN_is_zero(a))
    167.           return 0;
                   ^
    168.       return ((i * BN_BITS2) + BN_num_bits_word(a->d[i]));
    169.   }

crypto/rsa/rsa_crpt.c:25:5: Assignment
  23.   int RSA_size(const RSA *r)
  24.   {
  25.       return (BN_num_bytes(r->n));
            ^
  26.   }
  27.   

ssl/statem/statem_srvr.c:2160:19: Call
2158.       }
2159.   
2160.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                          ^
2161.       if (rsa_decrypt == NULL) {
2162.           *al = SSL_AD_INTERNAL_ERROR;

crypto/mem.c:79:9: Assignment
  77.   
  78.       if (num <= 0)
  79.           return NULL;
                ^
  80.   
  81.       allow_customize = 0;

ssl/statem/statem_srvr.c:2160:5: Assignment
2158.       }
2159.   
2160.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
            ^
2161.       if (rsa_decrypt == NULL) {
2162.           *al = SSL_AD_INTERNAL_ERROR;

ssl/statem/statem_srvr.c:2205:50: Array access: Offset: [2, +oo] Size: [1, +oo]
2203.           constant_time_eq_int_8(rsa_decrypt[1], 2);
2204.       for (j = 2; j < padding_len - 1; j++) {
2205.           decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);
                                                         ^
2206.       }
2207.       decrypt_good &= constant_time_is_zero_8(rsa_decrypt[padding_len - 1]);
