]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
proxy.c refactoring: remove always-NULL gc parameter
authorGert Doering <gert@greenie.muc.de>
Fri, 9 Jun 2017 20:50:29 +0000 (22:50 +0200)
committerGert Doering <gert@greenie.muc.de>
Mon, 12 Jun 2017 06:24:43 +0000 (08:24 +0200)
get_proxy_authenticate() is called with a "gc" parameter which MUST
be NULL, otherwise string_alloc() will allocate memory in the gc_arena
while the caller expects the result to be durable and will do explicit
free() when no longer needed.  Remove gc parameter, call string_alloc()
with "NULL" so this is clearly visible.

Signed-off-by: Gert Doering <gert@greenie.muc.de>
Acked-by: Steffan Karger <steffan.karger@fox-it.com>
Message-Id: <20170609205029.11002-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg14768.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/proxy.c

index 8ff09ba90c9885789082de9c99a26e02f8af1aaa..05f362dc2d344fc35e0dec09718464e11ba4f011 100644 (file)
@@ -309,7 +309,6 @@ static int
 get_proxy_authenticate(socket_descriptor_t sd,
                        int timeout,
                        char **data,
-                       struct gc_arena *gc,
                        volatile int *signal_received)
 {
     char buf[256];
@@ -332,14 +331,14 @@ get_proxy_authenticate(socket_descriptor_t sd,
             if (!strncmp(buf+20, "Basic ", 6))
             {
                 msg(D_PROXY, "PROXY AUTH BASIC: '%s'", buf);
-                *data = string_alloc(buf+26, gc);
+                *data = string_alloc(buf+26, NULL);
                 ret = HTTP_AUTH_BASIC;
             }
 #if PROXY_DIGEST_AUTH
             else if (!strncmp(buf+20, "Digest ", 7))
             {
                 msg(D_PROXY, "PROXY AUTH DIGEST: '%s'", buf);
-                *data = string_alloc(buf+27, gc);
+                *data = string_alloc(buf+27, NULL);
                 ret = HTTP_AUTH_DIGEST;
             }
 #endif
@@ -981,7 +980,6 @@ establish_http_proxy_passthru(struct http_proxy_info *p,
             const int method = get_proxy_authenticate(sd,
                                                       get_server_poll_remaining_time(server_poll_timeout),
                                                       &pa,
-                                                      NULL,
                                                       signal_received);
             if (method != HTTP_AUTH_NONE)
             {