summaryrefslogtreecommitdiff
path: root/testbed
diff options
context:
space:
mode:
authorMarti Maria <marti.maria@littlecms.com>2022-02-13 19:48:08 +0100
committerMarti Maria <marti.maria@littlecms.com>2022-02-13 19:48:08 +0100
commit48c4557c44c9e86a122762dfd078e49139a0fe4d (patch)
treee1f2980bcb1cf2ad6fb435ebd3f004a22b0b103f /testbed
parentc529dd437cc5294ad821de0e48f1aaddce2440ae (diff)
downloadlcms2-48c4557c44c9e86a122762dfd078e49139a0fe4d.tar.gz
Get rid of some warnings, enable ASAN
Enable address sanitizer on testbed (windows, Visual Studio)
Diffstat (limited to 'testbed')
-rw-r--r--testbed/testcms2.c41
-rwxr-xr-xtestbed/testcms2.h4
-rwxr-xr-xtestbed/testplugin.c1
3 files changed, 27 insertions, 19 deletions
diff --git a/testbed/testcms2.c b/testbed/testcms2.c
index 1bd0dd8..a733e7e 100644
--- a/testbed/testcms2.c
+++ b/testbed/testcms2.c
@@ -56,6 +56,15 @@ void Die(const char* Reason, ...)
exit(1);
}
+static
+void* chknull(void* mem)
+{
+ if (mem == NULL)
+ Die("Memory may be corrupted");
+
+ return mem;
+}
+
// Memory management replacement -----------------------------------------------------------------------------
@@ -115,7 +124,7 @@ void* DebugMalloc(cmsContext ContextID, cmsUInt32Number size)
if (size > SingleHit)
SingleHit = size;
- blk = (_cmsMemoryBlock*) malloc(size + SIZE_OF_MEM_HEADER);
+ blk = (_cmsMemoryBlock*) chknull(malloc(size + SIZE_OF_MEM_HEADER));
if (blk == NULL) return NULL;
blk ->KeepSize = size;
@@ -1019,7 +1028,7 @@ cmsInt32Number Check1D(cmsInt32Number nNodesToCheck, cmsBool Down, cmsInt32Numb
cmsInterpParams* p;
cmsUInt16Number* Tab;
- Tab = (cmsUInt16Number*) malloc(sizeof(cmsUInt16Number)* nNodesToCheck);
+ Tab = (cmsUInt16Number*) chknull(malloc(sizeof(cmsUInt16Number)* nNodesToCheck));
if (Tab == NULL) return 0;
p = _cmsComputeInterpParams(DbgThread(), nNodesToCheck, 1, 1, Tab, CMS_LERP_FLAGS_16BITS);
@@ -5294,7 +5303,7 @@ cmsInt32Number CheckRAWtags(cmsInt32Number Pass, cmsHPROFILE hProfile)
case 2:
if (!cmsReadRawTag(hProfile, (cmsTagSignature) 0x31323334, Buffer, 7)) return 0;
- if (strncmp(Buffer, "data123", 7) != 0) return 0;
+ if (memcmp(Buffer, "data123", 7) != 0) return 0;
return 1;
default:
@@ -7849,7 +7858,7 @@ cmsInt32Number CheckMeta(void)
rc = cmsSaveProfileToMem(p, NULL, &clen);
if (!rc) return 0;
- data = (char*) malloc(clen);
+ data = (char*) chknull(malloc(clen));
rc = cmsSaveProfileToMem(p, data, &clen);
if (!rc) return 0;
@@ -8302,9 +8311,9 @@ int Check_sRGB_Rountrips(void)
for (g = 0; g <= 255; g += 16)
for (b = 0; b <= 255; b += 16)
{
- seed[0] = rgb[0] = ((r << 8) | r);
- seed[1] = rgb[1] = ((g << 8) | g);
- seed[2] = rgb[2] = ((b << 8) | b);
+ seed[0] = rgb[0] = (cmsUInt16Number) ((r << 8) | r);
+ seed[1] = rgb[1] = (cmsUInt16Number) ((g << 8) | g);
+ seed[2] = rgb[2] = (cmsUInt16Number) ((b << 8) | b);
for (i = 0; i < 50; i++)
{
@@ -8516,7 +8525,7 @@ void SpeedTest32bits(const char * Title, cmsHPROFILE hlcmsProfileIn, cmsHPROFILE
NumPixels = 256 / Interval * 256 / Interval * 256 / Interval;
Mb = NumPixels * sizeof(Scanline_rgba32);
- In = (Scanline_rgba32 *) malloc(Mb);
+ In = (Scanline_rgba32 *) chknull(malloc(Mb));
j = 0;
for (r=0; r < 256; r += Interval)
@@ -8567,7 +8576,7 @@ void SpeedTest16bits(const char * Title, cmsHPROFILE hlcmsProfileIn, cmsHPROFILE
Mb = 256*256*256 * sizeof(Scanline_rgb16);
- In = (Scanline_rgb16*) malloc(Mb);
+ In = (Scanline_rgb16*) chknull(malloc(Mb));
j = 0;
for (r=0; r < 256; r++)
@@ -8620,7 +8629,7 @@ void SpeedTest32bitsCMYK(const char * Title, cmsHPROFILE hlcmsProfileIn, cmsHPRO
NumPixels = 256 / Interval * 256 / Interval * 256 / Interval;
Mb = NumPixels * sizeof(Scanline_rgba32);
- In = (Scanline_rgba32 *) malloc(Mb);
+ In = (Scanline_rgba32 *) chknull(malloc(Mb));
j = 0;
for (r=0; r < 256; r += Interval)
@@ -8673,7 +8682,7 @@ void SpeedTest16bitsCMYK(const char * Title, cmsHPROFILE hlcmsProfileIn, cmsHPRO
Mb = 256*256*256*sizeof(Scanline_rgba16);
- In = (Scanline_rgba16*) malloc(Mb);
+ In = (Scanline_rgba16*) chknull(malloc(Mb));
j = 0;
for (r=0; r < 256; r++)
@@ -8726,7 +8735,7 @@ void SpeedTest8bits(const char * Title, cmsHPROFILE hlcmsProfileIn, cmsHPROFILE
Mb = 256*256*256*sizeof(Scanline_rgb8);
- In = (Scanline_rgb8*) malloc(Mb);
+ In = (Scanline_rgb8*) chknull(malloc(Mb));
j = 0;
for (r=0; r < 256; r++)
@@ -8777,7 +8786,7 @@ void SpeedTest8bitsCMYK(const char * Title, cmsHPROFILE hlcmsProfileIn, cmsHPROF
Mb = 256*256*256*sizeof(Scanline_rgba8);
- In = (Scanline_rgba8*) malloc(Mb);
+ In = (Scanline_rgba8*) chknull(malloc(Mb));
j = 0;
for (r=0; r < 256; r++)
@@ -8833,7 +8842,7 @@ void SpeedTest32bitsGray(const char * Title, cmsHPROFILE hlcmsProfileIn, cmsHPRO
NumPixels = 256 / Interval * 256 / Interval * 256 / Interval;
Mb = NumPixels * sizeof(cmsFloat32Number);
- In = (cmsFloat32Number*) malloc(Mb);
+ In = (cmsFloat32Number*) chknull(malloc(Mb));
j = 0;
for (r = 0; r < 256; r += Interval)
@@ -8878,7 +8887,7 @@ void SpeedTest16bitsGray(const char * Title, cmsHPROFILE hlcmsProfileIn, cmsHPRO
cmsCloseProfile(hlcmsProfileOut);
Mb = 256*256*256 * sizeof(cmsUInt16Number);
- In = (cmsUInt16Number *) malloc(Mb);
+ In = (cmsUInt16Number *) chknull(malloc(Mb));
j = 0;
for (r=0; r < 256; r++)
@@ -8924,7 +8933,7 @@ void SpeedTest8bitsGray(const char * Title, cmsHPROFILE hlcmsProfileIn, cmsHPROF
cmsCloseProfile(hlcmsProfileOut);
Mb = 256*256*256;
- In = (cmsUInt8Number*) malloc(Mb);
+ In = (cmsUInt8Number*) chknull(malloc(Mb));
j = 0;
for (r=0; r < 256; r++)
diff --git a/testbed/testcms2.h b/testbed/testcms2.h
index 306934e..bf76e0c 100755
--- a/testbed/testcms2.h
+++ b/testbed/testcms2.h
@@ -41,10 +41,10 @@
#ifdef CMS_IS_WINDOWS_
# include <io.h>
# include <direct.h>
-# define CHDIR(a) _chdir(a)
+# define CHDIR(a) (void)_chdir(a)
#else
# include <unistd.h>
-# define CHDIR(a) chdir(a)
+# define CHDIR(a) (void)chdir(a)
#endif
#define cmsmin(a, b) (((a) < (b)) ? (a) : (b))
diff --git a/testbed/testplugin.c b/testbed/testplugin.c
index 6c9aee7..cb25108 100755
--- a/testbed/testplugin.c
+++ b/testbed/testplugin.c
@@ -979,7 +979,6 @@ cmsInt32Number CheckMPEPlugin(void)
cmsContext cpy = NULL;
cmsContext cpy2 = NULL;
cmsHPROFILE h = NULL;
- cmsUInt32Number myTag = 1234;
cmsUInt32Number rc = 0;
char* data = NULL;
cmsUInt32Number clen = 0;