From 2477968ee76e074bf308b6b3d9759f6e0fa33dba Mon Sep 17 00:00:00 2001 From: Yann Collet Date: Fri, 4 Dec 2020 20:25:01 -0800 Subject: [PATCH] fix gcc-10 aliasing warning in zlib_wrapper --- zlibWrapper/zstd_zlibwrapper.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/zlibWrapper/zstd_zlibwrapper.c b/zlibWrapper/zstd_zlibwrapper.c index d5968023..0ae5012a 100644 --- a/zlibWrapper/zstd_zlibwrapper.c +++ b/zlibWrapper/zstd_zlibwrapper.c @@ -182,7 +182,7 @@ static ZWRAP_CCtx* ZWRAP_createCCtx(z_streamp strm) { ZWRAP_CCtx* zwc; ZSTD_customMem customMem = { NULL, NULL, NULL }; - + if (strm->zalloc && strm->zfree) { customMem.customAlloc = ZWRAP_allocFunction; customMem.customFree = ZWRAP_freeFunction; @@ -246,6 +246,10 @@ int ZWRAP_setPledgedSrcSize(z_streamp strm, unsigned long long pledgedSrcSize) return Z_OK; } +static struct internal_state* convert_into_sis(void* ptr) +{ + return (struct internal_state*) ptr; +} ZEXTERN int ZEXPORT z_deflateInit_ OF((z_streamp strm, int level, const char *version, int stream_size)) @@ -266,7 +270,7 @@ ZEXTERN int ZEXPORT z_deflateInit_ OF((z_streamp strm, int level, zwc->streamEnd = 0; zwc->totalInBytes = 0; zwc->compressionLevel = level; - strm->state = (struct internal_state*) zwc; /* use state which in not used by user */ + strm->state = convert_into_sis(zwc); /* use state which in not used by user */ strm->total_in = 0; strm->total_out = 0; strm->adler = 0; @@ -593,7 +597,7 @@ ZEXTERN int ZEXPORT z_inflateInit_ OF((z_streamp strm, zwd->stream_size = stream_size; zwd->totalInBytes = 0; - strm->state = (struct internal_state*) zwd; + strm->state = convert_into_sis(zwd); strm->total_in = 0; strm->total_out = 0; strm->reserved = ZWRAP_UNKNOWN_STREAM;