From: Paul Cruz Date: Fri, 9 Jun 2017 20:57:18 +0000 (-0700) Subject: removed previous double free crash, used new crash function X-Git-Tag: v1.3.0~1^2~26^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F722%2Fhead;p=thirdparty%2Fzstd.git removed previous double free crash, used new crash function --- diff --git a/tests/roundTripCrash.c b/tests/roundTripCrash.c index 88282b45d..77c6737ee 100644 --- a/tests/roundTripCrash.c +++ b/tests/roundTripCrash.c @@ -68,9 +68,8 @@ static size_t checkBuffers(const void* buff1, const void* buff2, size_t buffSize return pos; } -static void crashWithMessage(const char* message, int errorCode){ +static void crash(int errorCode){ /* abort if AFL/libfuzzer, exit otherwise */ - fprintf(stderr, "%s", message); #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION /* could also use __AFL_COMPILER */ abort(); #else @@ -83,7 +82,6 @@ static void roundTripCheck(const void* srcBuff, size_t srcBuffSize) size_t const cBuffSize = ZSTD_compressBound(srcBuffSize); void* cBuff = malloc(cBuffSize); void* rBuff = malloc(cBuffSize); - #define CRASH { free(cBuff); free(cBuff); } /* double free, to crash program */ if (!cBuff || !rBuff) { fprintf(stderr, "not enough memory ! \n"); @@ -93,15 +91,15 @@ static void roundTripCheck(const void* srcBuff, size_t srcBuffSize) { size_t const result = roundTripTest(rBuff, cBuffSize, cBuff, cBuffSize, srcBuff, srcBuffSize); if (ZSTD_isError(result)) { fprintf(stderr, "roundTripTest error : %s \n", ZSTD_getErrorName(result)); - CRASH; + crash(1); } if (result != srcBuffSize) { fprintf(stderr, "Incorrect regenerated size : %u != %u\n", (unsigned)result, (unsigned)srcBuffSize); - CRASH; + crash(1); } if (checkBuffers(srcBuff, rBuff, srcBuffSize) != srcBuffSize) { fprintf(stderr, "Silent decoding corruption !!!"); - CRASH; + crash(1); } }