[vlc-devel] [PATCH 3/4] freeaddrinfo: rewrite as iterative

KO Myung-Hun komh78 at gmail.com
Wed Dec 3 03:47:02 CET 2014


From: Rémi Denis-Courmont <remi at remlab.net>

(cherry picked from commit 4716a65fc63c00a3970f65848ce3d94809d22ef0)
Signed-off-by: KO Myung-Hun <komh at chollian.net>
---
 compat/freeaddrinfo.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/compat/freeaddrinfo.c b/compat/freeaddrinfo.c
index 0d5a1d8..fecc3fa 100644
--- a/compat/freeaddrinfo.c
+++ b/compat/freeaddrinfo.c
@@ -34,12 +34,13 @@
  */
 void freeaddrinfo (struct addrinfo *res)
 {
-    if (res == NULL)
-        return;
+    while (res != NULL)
+    {
+        struct addrinfo *next = res->ai_next;
 
-    freeaddrinfo (res->ai_next);
-
-    free (res->ai_canonname);
-    free (res->ai_addr);
-    free (res);
+        free (res->ai_canonname);
+        free (res->ai_addr);
+        free (res);
+        res = next;
+    }
 }
-- 
1.8.5.2




More information about the vlc-devel mailing list