test/modes_internal_test.c:269: error: BUFFER_OVERRUN_L3
  Offset: [2, +oo] Size: [1, +oo] by call to `execute_cts128`.
Showing all 14 steps of the trace


test/modes_internal_test.c:269:5: Call
267.       fixture.case_name = "cts128_nist";
268.       fixture.num = idx;
269.       EXECUTE_TEST_NO_TEARDOWN(execute_cts128);
           ^
270.   }
271.   

test/modes_internal_test.c:186:1: Global `cts128_vectors.size`
  184.   }
  185.   
  186. > static int execute_cts128(CTS128_FIXTURE fixture)
  187.   {
  188.       const unsigned char *test_iv = cts128_test_iv;

test/modes_internal_test.c:191:5: Assignment
  189.       size_t test_iv_len = sizeof(cts128_test_iv);
  190.       const unsigned char *orig_vector = cts128_vectors[fixture.num].data;
  191.       size_t len = cts128_vectors[fixture.num].size;
             ^
  192.       const unsigned char *test_input = cts128_test_input;
  193.       const AES_KEY *encrypt_key_schedule = cts128_encrypt_key_schedule();

test/modes_internal_test.c:209:10: Call
  207.                             encrypt_key_schedule, iv,
  208.                             (block128_f)AES_encrypt);
  209.       if (!TEST_mem_eq(ciphertext, len, vector, len))
                  ^
  210.           return 0;
  211.   

test/testutil/tests.c:310:1: Parameter `n1`
    308.   }
    309.   
    310. > int test_mem_eq(const char *file, int line, const char *st1, const char *st2,
    311.                   const void *s1, size_t n1, const void *s2, size_t n2)
    312.   {

test/testutil/tests.c:318:20: Call
    316.           return 1;
    317.       if (n1 != n2 || s1 == NULL || s2 == NULL || memcmp(s1, s2, n1) != 0) {
    318.           char *m1 = print_mem_maybe_null(s1, n1, b1);
                              ^
    319.           char *m2 = print_mem_maybe_null(s2, n2, b2);
    320.   

test/testutil/tests.c:276:1: <Offset trace>
274.    * freed by the caller.
275.    */
276. > static char *print_mem_maybe_null(const void *s, size_t n,
277.                                     char outbuf[MEM_BUFFER_SIZE])
278.   {

test/testutil/tests.c:276:1: Parameter `n`
      274.    * freed by the caller.
      275.    */
      276. > static char *print_mem_maybe_null(const void *s, size_t n,
      277.                                     char outbuf[MEM_BUFFER_SIZE])
      278.   {

test/testutil/tests.c:301:13: Assignment
      299.       }
      300.       if (pad) {
      301.           out[i++] = '.';
                         ^
      302.           out[i++] = '.';
      303.           out[i++] = '.';

test/testutil/tests.c:302:13: Assignment
      300.       if (pad) {
      301.           out[i++] = '.';
      302.           out[i++] = '.';
                         ^
      303.           out[i++] = '.';
      304.       }

test/testutil/tests.c:276:1: <Length trace>
274.    * freed by the caller.
275.    */
276. > static char *print_mem_maybe_null(const void *s, size_t n,
277.                                     char outbuf[MEM_BUFFER_SIZE])
278.   {

test/testutil/tests.c:276:1: Parameter `*outbuf`
      274.    * freed by the caller.
      275.    */
      276. > static char *print_mem_maybe_null(const void *s, size_t n,
      277.                                     char outbuf[MEM_BUFFER_SIZE])
      278.   {

test/testutil/tests.c:281:5: Assignment
      279.       size_t i;
      280.       const unsigned char *p = (const unsigned char *)s;
      281.       char *out = outbuf;
                 ^
      282.       int pad = 2 * n >= MEM_BUFFER_SIZE;
      283.   

test/testutil/tests.c:303:9: Array access: Offset: [2, +oo] Size: [1, +oo] by call to `execute_cts128` 
      301.           out[i++] = '.';
      302.           out[i++] = '.';
      303.           out[i++] = '.';
                     ^
      304.       }
      305.       out[i] = '\0';
