httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Holsman <i...@cnet.com>
Subject [PATCH] listen.c -- fix restart SEGV --please comment/commit
Date Wed, 28 Nov 2001 21:16:26 GMT
I don't know why this is happening now.

but when I do a restart (with a standard config) it core dumps
here is my proposed fix.. it appears to work for me.
but this is not my area so I'm posting rather than patching.

..Ian

Index: server/listen.c
===================================================================
RCS file: /home/cvs/httpd-2.0/server/listen.c,v
retrieving revision 1.64
diff -u -r1.64 listen.c
--- server/listen.c     2001/11/13 22:42:38     1.64
+++ server/listen.c     2001/11/28 20:31:02
@@ -237,16 +237,18 @@
      /* see if we've got an old listener for this address:port */
      for (walk = &old_listeners; *walk; walk = &(*walk)->next) {
          sa = (*walk)->bind_addr;
-        apr_sockaddr_port_get(&oldport, sa);
-       apr_sockaddr_ip_get(&oldaddr, sa);
-       if (!strcmp(oldaddr, addr) && port == oldport) {
-           /* re-use existing record */
-           new = *walk;
-           *walk = new->next;
-           new->next = ap_listeners;
-           ap_listeners = new;
-           return;
-       }
+        if (sa) {
+            apr_sockaddr_port_get(&oldport, sa);
+            apr_sockaddr_ip_get(&oldaddr, sa);
+            if (!strcmp(oldaddr, addr) && port == oldport) {
+                /* re-use existing record */
+                new = *walk;
+                *walk = new->next;
+                new->next = ap_listeners;
+                ap_listeners = new;
+                return;
+            }
+        }
      }

      /* this has to survive restarts */



Mime
View raw message