mirror of
https://github.com/Ylianst/MeshAgent
synced 2025-12-10 05:13:38 +00:00
1. Fixed integer overflow detection for 32 bit
2. Fixed compiler warning
This commit is contained in:
@@ -414,7 +414,7 @@ int ILibIsRunningOnChainThread(void* chain);
|
||||
#define ILibMemory_Extra(ptr) (ILibMemory_ExtraSize(ptr)>0?((char*)(ptr) + ILibMemory_Size((ptr)) + sizeof(ILibMemory_Header)):NULL)
|
||||
#define ILibMemory_FromRaw(ptr) ((char*)(ptr) + sizeof(ILibMemory_Header))
|
||||
|
||||
#define ILibMemory_Size_Validate(primaryLen, extraLen) (((size_t)primaryLen<(UINT32_MAX - (size_t)extraLen))&&((size_t)extraLen<(UINT32_MAX-(size_t)primaryLen))&&((size_t)(primaryLen + extraLen)<(UINT32_MAX - sizeof(ILibMemory_Header)))&&(extraLen==0 || ((size_t)(primaryLen+extraLen+sizeof(ILibMemory_Header))<(UINT32_MAX-sizeof(ILibMemory_Header)))))
|
||||
#define ILibMemory_Size_Validate(primaryLen, extraLen) (((size_t)(primaryLen)<(UINT32_MAX - (size_t)(extraLen)))&&((size_t)(extraLen)<(UINT32_MAX-(size_t)(primaryLen)))&&((size_t)((primaryLen) + (extraLen))<(UINT32_MAX - sizeof(ILibMemory_Header)))&&((extraLen)==0 || ((size_t)((primaryLen)+(extraLen)+sizeof(ILibMemory_Header))<(UINT32_MAX-sizeof(ILibMemory_Header)))))
|
||||
#define ILibMemory_Init_Size(primaryLen, extraLen) (primaryLen + extraLen + sizeof(ILibMemory_Header) + (extraLen>0?sizeof(ILibMemory_Header):0))
|
||||
void* ILibMemory_Init(void *ptr, size_t primarySize, size_t extraSize, ILibMemory_Types memType);
|
||||
#define ILibMemory_SmartAllocate(len) ILibMemory_Init(ILibMemory_Size_Validate(len,0)?malloc(ILibMemory_Init_Size(len, 0)):NULL, (int)len, 0, ILibMemory_Types_HEAP)
|
||||
|
||||
@@ -797,7 +797,7 @@ __EXPORT_TYPE int ILibSimpleDataStore_GetEx(ILibSimpleDataStore dataStore, char*
|
||||
if (centry != NULL)
|
||||
{
|
||||
ILibInflate(centry->value, centry->valueLength, NULL, &tmplen, 0);
|
||||
if (buffer != NULL && bufferLen >= tmplen)
|
||||
if (buffer != NULL && bufferLen >= (int)tmplen)
|
||||
{
|
||||
ILibInflate(centry->value, centry->valueLength, buffer, &tmplen, 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user