]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Return NULL if GetAdaptersInfo fails
authorSelva Nair <selva.nair@gmail.com>
Wed, 3 Jan 2018 04:02:03 +0000 (23:02 -0500)
committerGert Doering <gert@greenie.muc.de>
Tue, 9 Jan 2018 15:18:46 +0000 (16:18 +0100)
- Currently a pointer to potentially uninitialized IP_ADAPTER_INFO
  struct is returned on error causing ill-defined behaviour.

Signed-off-by: Selva Nair <selva.nair@gmail.com>
Acked-by: Steffan Karger <steffan.karger@fox-it.com>
Acked-by: Simon Rozman <simon@rozman.si>
Message-Id: <1514952123-26616-1-git-send-email-selva.nair@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg16139.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
(cherry picked from commit 5050c5b1ec3f2aa04140ab83f2498b3329381ee4)

src/openvpn/tun.c

index 25831ce3851ec45d2ffe5f3312412819c67c1fa9..6e163489b7a1ae0e082fcdcfab5b17abf16dcfc9 100644 (file)
@@ -4178,15 +4178,12 @@ get_adapter_info_list(struct gc_arena *gc)
     else
     {
         pi = (PIP_ADAPTER_INFO) gc_malloc(size, false, gc);
-        if ((status = GetAdaptersInfo(pi, &size)) == NO_ERROR)
-        {
-            return pi;
-        }
-        else
+        if ((status = GetAdaptersInfo(pi, &size)) != NO_ERROR)
         {
             msg(M_INFO, "GetAdaptersInfo #2 failed (status=%u) : %s",
                 (unsigned int)status,
                 strerror_win32(status, gc));
+            pi = NULL;
         }
     }
     return pi;