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


ssl/statem/statem_srvr.c:2857:10: <Offset trace>
2855.       decrypt_good = constant_time_eq_int_8(rsa_decrypt[0], 0) &
2856.           constant_time_eq_int_8(rsa_decrypt[1], 2);
2857.       for (j = 2; j < padding_len - 1; j++) {
                 ^
2858.           decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);
2859.       }

ssl/statem/statem_srvr.c:2857:10: Assignment
2855.       decrypt_good = constant_time_eq_int_8(rsa_decrypt[0], 0) &
2856.           constant_time_eq_int_8(rsa_decrypt[1], 2);
2857.       for (j = 2; j < padding_len - 1; j++) {
                 ^
2858.           decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);
2859.       }

ssl/statem/statem_srvr.c:2805:19: <Length trace>
2803.       }
2804.   
2805.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                          ^
2806.       if (rsa_decrypt == NULL) {
2807.           SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CKE_RSA,

ssl/statem/statem_srvr.c:2805:19: Call
2803.       }
2804.   
2805.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                          ^
2806.       if (rsa_decrypt == NULL) {
2807.           SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CKE_RSA,

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

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:24:5: Assignment
  22.   int RSA_size(const RSA *r)
  23.   {
  24.       return BN_num_bytes(r->n);
            ^
  25.   }
  26.   

ssl/statem/statem_srvr.c:2805:19: Call
2803.       }
2804.   
2805.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                          ^
2806.       if (rsa_decrypt == NULL) {
2807.           SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CKE_RSA,

crypto/mem.c:198:9: Assignment
  196.   
  197.       if (num == 0)
  198.           return NULL;
                 ^
  199.   
  200.       FAILTEST();

ssl/statem/statem_srvr.c:2805:5: Assignment
2803.       }
2804.   
2805.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
            ^
2806.       if (rsa_decrypt == NULL) {
2807.           SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_TLS_PROCESS_CKE_RSA,

ssl/statem/statem_srvr.c:2858:50: Array access: Offset: [2, +oo] Size: [1, +oo]
2856.           constant_time_eq_int_8(rsa_decrypt[1], 2);
2857.       for (j = 2; j < padding_len - 1; j++) {
2858.           decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);
                                                         ^
2859.       }
2860.       decrypt_good &= constant_time_is_zero_8(rsa_decrypt[padding_len - 1]);
