diff --git a/src/Mayaqua/Network.c b/src/Mayaqua/Network.c index 2f4bf0ce..a469d752 100644 --- a/src/Mayaqua/Network.c +++ b/src/Mayaqua/Network.c @@ -20563,13 +20563,15 @@ HTTP_HEADER *RecvHttpHeader(SOCK *s) // Split into tokens token = ParseToken(str, " "); - if (token->NumTokens < 3) - { - goto LABEL_ERROR; - } Free(str); + if (token->NumTokens < 3) + { + FreeToken(token); + return NULL; + } + // Creating a header object header = NewHttpHeader(token->Token[0], token->Token[1], token->Token[2]); FreeToken(token); @@ -20594,21 +20596,15 @@ HTTP_HEADER *RecvHttpHeader(SOCK *s) if (AddHttpValueStr(header, str) == false) { - goto LABEL_ERROR; + Free(str); + FreeHttpHeader(header); + break; } Free(str); } return header; - -LABEL_ERROR: - // Memory release - Free(str); - FreeToken(token); - FreeHttpHeader(header); - - return NULL; } // Receive a line