1
0
mirror of https://github.com/Ylianst/MeshAgent synced 2026-01-10 20:43:46 +00:00

Added NULL checks

This commit is contained in:
Bryan Roe
2021-01-26 13:47:20 -08:00
parent eca6b61df5
commit a728ba40de
7 changed files with 58 additions and 32 deletions

View File

@@ -1630,7 +1630,7 @@ void* ILibDuktape_GlobalGenericCallback_Process(int numParms, ...)
while (node != NULL)
{
data = (Duktape_GlobalGeneric_Data*)ILibLinkedList_GetDataFromNode(node);
refList[count++] = data;
if (data != NULL) { refList[count++] = data; }
node = ILibLinkedList_GetNextNode(node);
}
ILibLinkedList_UnLock(GlobalCallbackList);
@@ -2045,7 +2045,7 @@ duk_ret_t ILibDuktape_GenericMarshal_Finalizer(duk_context *ctx)
while (node != NULL)
{
Duktape_GlobalGeneric_Data *data = (Duktape_GlobalGeneric_Data*)ILibLinkedList_GetDataFromNode(node);
if (data->chain == duk_ctx_chain(ctx) && data->ctxnonce == duk_ctx_nonce(ctx))
if (data != NULL && data->chain == duk_ctx_chain(ctx) && data->ctxnonce == duk_ctx_nonce(ctx))
{
ILibMemory_Free(data);
void *next = ILibLinkedList_GetNextNode(node);

View File

@@ -779,7 +779,10 @@ void Duktape_SafeDestroyHeap(duk_context *ctx)
void *node;
while ((node = ILibLinkedList_GetNode_Head(ctxd->threads)) != NULL)
{
threadList[i++] = ILibLinkedList_GetDataFromNode(node);
if (ILibLinkedList_GetDataFromNode(node) != NULL)
{
threadList[i++] = ILibLinkedList_GetDataFromNode(node);
}
ILibLinkedList_Remove(node);
}
while (WaitForMultipleObjectsEx(i, threadList, TRUE, 1000, TRUE) == WAIT_IO_COMPLETION);
@@ -793,10 +796,12 @@ void Duktape_SafeDestroyHeap(duk_context *ctx)
ILibThread_ms2ts(5000, &ts);
while ((node = ILibLinkedList_GetNode_Head(ctxd->threads)) != NULL)
{
thr = ILibLinkedList_GetDataFromNode(node);
if ((rv = ILibThread_TimedJoinEx(thr, &ts)) != 0)
if ((thr = ILibLinkedList_GetDataFromNode(node)) != NULL)
{
break;
if ((rv = ILibThread_TimedJoinEx(thr, &ts)) != 0)
{
break;
}
}
ILibLinkedList_Remove(node);
}