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


ssl/statem/statem_srvr.c:2278:14: <Offset trace>
2276.            * it is still sufficiently large to read from.
2277.            */
2278.           for (j = 0; j < sizeof(rand_premaster_secret); j++) {
                     ^
2279.               rsa_decrypt[j] =
2280.                   constant_time_select_8(decrypt_good, rsa_decrypt[j],

ssl/statem/statem_srvr.c:2278:14: Assignment
2276.            * it is still sufficiently large to read from.
2277.            */
2278.           for (j = 0; j < sizeof(rand_premaster_secret); j++) {
                     ^
2279.               rsa_decrypt[j] =
2280.                   constant_time_select_8(decrypt_good, rsa_decrypt[j],

ssl/statem/statem_srvr.c:2200:23: <Length trace>
2198.           }
2199.   
2200.           rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                              ^
2201.           if (rsa_decrypt == NULL) {
2202.               al = SSL_AD_INTERNAL_ERROR;

ssl/statem/statem_srvr.c:2200:23: Call
2198.           }
2199.   
2200.           rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                              ^
2201.           if (rsa_decrypt == NULL) {
2202.               al = SSL_AD_INTERNAL_ERROR;

crypto/rsa/rsa_crpt.c:74:13: Call
  72.   int RSA_size(const RSA *r)
  73.   {
  74.       return (BN_num_bytes(r->n));
                    ^
  75.   }
  76.   

crypto/bn/bn_lib.c:221:9: Assignment
    219.   
    220.       if (BN_is_zero(a))
    221.           return 0;
                   ^
    222.       return ((i * BN_BITS2) + BN_num_bits_word(a->d[i]));
    223.   }

crypto/rsa/rsa_crpt.c:74:5: Assignment
  72.   int RSA_size(const RSA *r)
  73.   {
  74.       return (BN_num_bytes(r->n));
            ^
  75.   }
  76.   

ssl/statem/statem_srvr.c:2200:23: Call
2198.           }
2199.   
2200.           rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                              ^
2201.           if (rsa_decrypt == NULL) {
2202.               al = SSL_AD_INTERNAL_ERROR;

crypto/mem.c:125:9: Assignment
  123.   
  124.       if (num <= 0)
  125.           return NULL;
                 ^
  126.   
  127.       allow_customize = 0;

ssl/statem/statem_srvr.c:2200:9: Assignment
2198.           }
2199.   
2200.           rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                ^
2201.           if (rsa_decrypt == NULL) {
2202.               al = SSL_AD_INTERNAL_ERROR;

ssl/statem/statem_srvr.c:2279:13: Array access: Offset: [0, 47] Size: [1, +oo]
2277.            */
2278.           for (j = 0; j < sizeof(rand_premaster_secret); j++) {
2279.               rsa_decrypt[j] =
                    ^
2280.                   constant_time_select_8(decrypt_good, rsa_decrypt[j],
2281.                                          rand_premaster_secret[j]);
