diff --git a/src/Mayaqua/Memory.h b/src/Mayaqua/Memory.h index 894a0e51..d3237c9a 100644 --- a/src/Mayaqua/Memory.h +++ b/src/Mayaqua/Memory.h @@ -128,6 +128,7 @@ #define MEMTAG_TO_POINTER(p) ((void *)(((UCHAR *)(p)) + sizeof(MEMTAG))) #define POINTER_TO_MEMTAG(p) ((MEMTAG *)(((UCHAR *)(p)) - sizeof(MEMTAG))) #define IS_NULL_POINTER(p) (((p) == NULL) || ((POINTER_TO_UINT64(p) == (UINT64)sizeof(MEMTAG)))) +#define PTR_TO_PTR(p) ((void **)(&p)) // Fixed size of a block of memory pool #define MEMPOOL_MAX_SIZE 3000 diff --git a/src/Mayaqua/Network.c b/src/Mayaqua/Network.c index 4be28ec3..7c2d1e99 100644 --- a/src/Mayaqua/Network.c +++ b/src/Mayaqua/Network.c @@ -20564,7 +20564,7 @@ HTTP_HEADER *RecvHttpHeader(SOCK *s) // Split into tokens token = ParseToken(str, " "); - FreeSafe((void **)&str); + FreeSafe(PTR_TO_PTR(str)); if (token->NumTokens < 3) { @@ -20590,18 +20590,18 @@ HTTP_HEADER *RecvHttpHeader(SOCK *s) if (IsEmptyStr(str)) { // End of header - FreeSafe((void **)&str); + FreeSafe(PTR_TO_PTR(str)); break; } if (AddHttpValueStr(header, str) == false) { - FreeSafe((void **)&str); + FreeSafe(PTR_TO_PTR(str)); FreeHttpHeader(header); break; } - FreeSafe((void **)&str); + FreeSafe(PTR_TO_PTR(str)); } return header;