From: Patrick Monnerat Date: Sat, 2 Sep 2017 11:40:19 +0000 (+0100) Subject: http: fix a memory leakage in checkrtspprefix(). X-Git-Tag: curl-7_56_0~136 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3b51fa6285303cb5b01c4bd5be1a544a877475e6;p=curl http: fix a memory leakage in checkrtspprefix(). --- diff --git a/lib/http.c b/lib/http.c index 3e3313278..cf50a7cac 100644 --- a/lib/http.c +++ b/lib/http.c @@ -2809,6 +2809,7 @@ static bool checkrtspprefix(struct Curl_easy *data, const char *s) { + bool result = FALSE; #ifdef CURL_DOES_CONVERSIONS /* convert from the network encoding using a scratch area */ @@ -2819,16 +2820,17 @@ checkrtspprefix(struct Curl_easy *data, } if(CURLE_OK != Curl_convert_from_network(data, scratch, strlen(s)+1)) { /* Curl_convert_from_network calls failf if unsuccessful */ - free(scratch); - return FALSE; /* can't return CURLE_foobar so return FALSE */ + result = FALSE; /* can't return CURLE_foobar so return FALSE */ } - s = scratch; + else + result = checkprefix("RTSP/", scratch)? TRUE: FALSE; + free(scratch); #else (void)data; /* unused */ + result = checkprefix("RTSP/", s)? TRUE: FALSE; #endif /* CURL_DOES_CONVERSIONS */ - if(checkprefix("RTSP/", s)) - return TRUE; - return FALSE; + + return result; } #endif /* CURL_DISABLE_RTSP */