slackbuilds/gis/libecwj2/libecwj2-3.3-NCSPhysicalMem...

17 lines
527 B
Diff

--- Source/C/NCSUtil/malloc.c.ori 2010-02-02 00:09:24.000000000 +0100
+++ Source/C/NCSUtil/malloc.c 2010-02-02 00:17:13.000000000 +0100
@@ -390,7 +390,12 @@
#else /* SOLARIS */
#ifdef LINUX
- return(sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE));
+ long nPages = sysconf(_SC_PHYS_PAGES);
+ long nPageSize = sysconf(_SC_PAGESIZE);
+ if (nPages > INT_MAX / nPageSize)
+ return INT_MAX;
+ else
+ return (INT32)(nPages * nPageSize);
#elif defined MACOSX
return(128*1024*1024);