From e4a0ee2b1bb2fc909fee66753dac250a22267a46 Mon Sep 17 00:00:00 2001 From: Bryan Call Date: Fri, 21 May 2021 08:04:17 -0700 Subject: [PATCH 1/2] Fixed ASAN issues with MMH test --- src/tscore/unit_tests/test_MMH.cc | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/tscore/unit_tests/test_MMH.cc b/src/tscore/unit_tests/test_MMH.cc index cf539359467..07112585cb1 100644 --- a/src/tscore/unit_tests/test_MMH.cc +++ b/src/tscore/unit_tests/test_MMH.cc @@ -83,15 +83,18 @@ TEST_CASE("MMH", "[libts][MMH]") printf("********** collision %d\n", xy); } - unsigned char *s = (unsigned char *)MMH_x; - int l = sizeof(MMH_x); - unsigned char *s1 = (unsigned char *)ats_malloc(l + 3); + unsigned char *s = (unsigned char *)MMH_x; + int l = sizeof(MMH_x); + unsigned char *s1 = (unsigned char *)ats_malloc(l + 4); + unsigned char *free_s1 = s1; s1 += 1; memcpy(s1, s, l); - unsigned char *s2 = (unsigned char *)ats_malloc(l + 3); + unsigned char *s2 = (unsigned char *)ats_malloc(l + 4); + unsigned char *free_s2 = s2; s2 += 2; memcpy(s2, s, l); - unsigned char *s3 = (unsigned char *)ats_malloc(l + 3); + unsigned char *s3 = (unsigned char *)ats_malloc(l + 4); + unsigned char *free_s3 = s3; s3 += 3; memcpy(s3, s, l); @@ -136,4 +139,9 @@ TEST_CASE("MMH", "[libts][MMH]") if (!(z % 7)) printf("\n"); } + printf("\n"); + + ats_free(free_s1); + ats_free(free_s2); + ats_free(free_s3); } From 02e0b41d15c37fa95dd7345c507ac8f47f0c63b5 Mon Sep 17 00:00:00 2001 From: Bryan Call Date: Fri, 21 May 2021 10:46:16 -0700 Subject: [PATCH 2/2] Using sizeof instead of hardcoding the size --- src/tscore/unit_tests/test_MMH.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tscore/unit_tests/test_MMH.cc b/src/tscore/unit_tests/test_MMH.cc index 07112585cb1..f8cf3aa1801 100644 --- a/src/tscore/unit_tests/test_MMH.cc +++ b/src/tscore/unit_tests/test_MMH.cc @@ -85,15 +85,15 @@ TEST_CASE("MMH", "[libts][MMH]") unsigned char *s = (unsigned char *)MMH_x; int l = sizeof(MMH_x); - unsigned char *s1 = (unsigned char *)ats_malloc(l + 4); + unsigned char *s1 = (unsigned char *)ats_malloc(l + sizeof(uint32_t)); unsigned char *free_s1 = s1; s1 += 1; memcpy(s1, s, l); - unsigned char *s2 = (unsigned char *)ats_malloc(l + 4); + unsigned char *s2 = (unsigned char *)ats_malloc(l + sizeof(uint32_t)); unsigned char *free_s2 = s2; s2 += 2; memcpy(s2, s, l); - unsigned char *s3 = (unsigned char *)ats_malloc(l + 4); + unsigned char *s3 = (unsigned char *)ats_malloc(l + sizeof(uint32_t)); unsigned char *free_s3 = s3; s3 += 3; memcpy(s3, s, l);