From: Yann Collet Date: Wed, 13 Sep 2017 04:21:17 +0000 (-0700) Subject: blindfix for Visual X-Git-Tag: fuzz-corpora2~11^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F841%2Fhead;p=thirdparty%2Fzstd.git blindfix for Visual LARGE_INTEGER is not an integer : https://msdn.microsoft.com/en-us/library/windows/desktop/aa383713(v=vs.85).aspx Do not take any risk with the structure definition : use int init = 0; like Mac code --- diff --git a/programs/util.h b/programs/util.h index 65eb195dc..c8be5f5fb 100644 --- a/programs/util.h +++ b/programs/util.h @@ -122,19 +122,23 @@ static int g_utilDisplayLevel; UTIL_STATIC UTIL_time_t UTIL_getTime(void) { UTIL_time_t x; QueryPerformanceCounter(&x); return x; } UTIL_STATIC U64 UTIL_getSpanTimeMicro(UTIL_time_t clockStart, UTIL_time_t clockEnd) { - static LARGE_INTEGER ticksPerSecond = 0; - if (!ticksPerSecond) { + static LARGE_INTEGER ticksPerSecond; + static int init = 0; + if (!init) { if (!QueryPerformanceFrequency(&ticksPerSecond)) UTIL_DISPLAYLEVEL(1, "ERROR: QueryPerformanceFrequency() failure\n"); + init = 1; } return 1000000ULL*(clockEnd.QuadPart - clockStart.QuadPart)/ticksPerSecond.QuadPart; } UTIL_STATIC U64 UTIL_getSpanTimeNano(UTIL_time_t clockStart, UTIL_time_t clockEnd) { - static LARGE_INTEGER ticksPerSecond = 0; - if (!ticksPerSecond) { + static LARGE_INTEGER ticksPerSecond; + static int init = 0; + if (!init) { if (!QueryPerformanceFrequency(&ticksPerSecond)) UTIL_DISPLAYLEVEL(1, "ERROR: QueryPerformanceFrequency() failure\n"); + init = 1; } return 1000000000ULL*(clockEnd.QuadPart - clockStart.QuadPart)/ticksPerSecond.QuadPart; }