diff --git a/testsuite/memxor-test.c b/testsuite/memxor-test.c index 3319433..84d0a7d 100644 --- a/testsuite/memxor-test.c +++ b/testsuite/memxor-test.c @@ -73,11 +73,15 @@ test_memxor3 (const uint8_t *ain, const uint8_t *bin, const uint8_t *c, ASSERT (MEMEQ (size, dst, c)); ASSERT (dst[-1] == 17); ASSERT (dst[size] == 17); + } void test_main(void) { + uint8_t dst_buf[MAX_SIZE]; + uint8_t *c_buf; + uint8_t *d_buf; const uint8_t *a = H("ecc8737f 38f2f9e8 86b9d84c 42a9c7ef" "27a50860 49c6be97 c5cc6c35 3981b367" "f8b4397b 951e3b2f 35749fe1 25884fa6" @@ -144,4 +148,15 @@ test_main(void) for (align_b = 0; align_b < ALIGN_SIZE; align_b++) test_memxor3 (a, b, c, size[i], align_dst, align_a, align_b); } + + c_buf = malloc(111); + d_buf = malloc(111); + memset(c_buf, 1, 111); + memset(d_buf, 3, 111); + + memxor3 (dst_buf+13, c_buf+96, d_buf, 15); + + ASSERT(dst_buf[14] == 2); + free(c_buf); + free(d_buf); }