Fixed null pointer dereference.
authorArmin Novak <armin.novak@gmail.com>
Mon, 17 Nov 2014 00:26:31 +0000 (01:26 +0100)
committerArmin Novak <armin.novak@gmail.com>
Mon, 17 Nov 2014 00:26:31 +0000 (01:26 +0100)
libfreerdp/core/gateway/http.c

index 51c5c04..8eb3898 100644 (file)
@@ -573,7 +573,7 @@ HttpResponse* http_response_recv(rdpTls* tls)
                        count = 0;
                        line = strtok((char*) buffer, "\r\n");
 
-                       while (line != NULL)
+                       while ((line != NULL) && http_response->lines)
                        {
                                http_response->lines[count] = _strdup(line);
 
@@ -658,7 +658,10 @@ void http_response_free(HttpResponse* http_response)
                return;
 
        for (i = 0; i < http_response->count; i++)
-               free(http_response->lines[i]);
+       {
+               if (http_response->lines && http_response->lines[i])
+                       free(http_response->lines[i]);
+       }
 
        free(http_response->lines);
        free(http_response->ReasonPhrase);