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


ssl/statem/statem_srvr.c:2752:10: <Offset trace>
2750.       decrypt_good = constant_time_eq_int_8(rsa_decrypt[0], 0) &
2751.           constant_time_eq_int_8(rsa_decrypt[1], 2);
2752.       for (j = 2; j < padding_len - 1; j++) {
                 ^
2753.           decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);
2754.       }

ssl/statem/statem_srvr.c:2752:10: Assignment
2750.       decrypt_good = constant_time_eq_int_8(rsa_decrypt[0], 0) &
2751.           constant_time_eq_int_8(rsa_decrypt[1], 2);
2752.       for (j = 2; j < padding_len - 1; j++) {
                 ^
2753.           decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);
2754.       }

ssl/statem/statem_srvr.c:2707:19: <Length trace>
2705.       }
2706.   
2707.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                          ^
2708.       if (rsa_decrypt == NULL) {
2709.           *al = SSL_AD_INTERNAL_ERROR;

ssl/statem/statem_srvr.c:2707:19: Call
2705.       }
2706.   
2707.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                          ^
2708.       if (rsa_decrypt == NULL) {
2709.           *al = SSL_AD_INTERNAL_ERROR;

crypto/rsa/rsa_crpt.c:25:12: 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:2707:19: Call
2705.       }
2706.   
2707.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
                          ^
2708.       if (rsa_decrypt == NULL) {
2709.           *al = SSL_AD_INTERNAL_ERROR;

crypto/mem.c:177:9: Assignment
  175.   
  176.       if (num == 0)
  177.           return NULL;
                 ^
  178.   
  179.       FAILTEST();

ssl/statem/statem_srvr.c:2707:5: Assignment
2705.       }
2706.   
2707.       rsa_decrypt = OPENSSL_malloc(RSA_size(rsa));
            ^
2708.       if (rsa_decrypt == NULL) {
2709.           *al = SSL_AD_INTERNAL_ERROR;

ssl/statem/statem_srvr.c:2753:50: Array access: Offset: [2, +oo] Size: [1, +oo]
2751.           constant_time_eq_int_8(rsa_decrypt[1], 2);
2752.       for (j = 2; j < padding_len - 1; j++) {
2753.           decrypt_good &= ~constant_time_is_zero_8(rsa_decrypt[j]);
                                                         ^
2754.       }
2755.       decrypt_good &= constant_time_is_zero_8(rsa_decrypt[padding_len - 1]);
