Commit Diff


commit - d3dd90c6c9567eb0a4f0bd45fd3375a7447fb991
commit + 89898c2ae7a615f3a6d4de6ca048416f58be0dae
blob - 51af7b098c7c71632f8484cec3d8a71d8ce38066
blob + c091fcdb65e803da4535ffaf82debc9f8096b2c9
--- gotwebd/gotweb.c
+++ gotwebd/gotweb.c
@@ -1386,6 +1386,14 @@ gotweb_shutdown(void)
 		srv = TAILQ_FIRST(&gotwebd_env->servers);
 		TAILQ_REMOVE(&gotwebd_env->servers, srv, entry);
 		free(srv);
+	}
+
+	while (!TAILQ_EMPTY(&gotwebd_env->sockets)) {
+		struct socket *sock;
+
+		sock = TAILQ_FIRST(&gotwebd_env->sockets);
+		TAILQ_REMOVE(&gotwebd_env->sockets, sock, entry);
+		free(sock);
 	}
 
 	free(gotwebd_env);
blob - 3f292f3dc8ece7eb0acc253b9c88cdf86877dc02
blob + 4b4ad08212834af192f08c7a9c4bf9fe9ace7db2
--- gotwebd/gotwebd.c
+++ gotwebd/gotwebd.c
@@ -679,6 +679,13 @@ gotwebd_shutdown(void)
 		TAILQ_REMOVE(&gotwebd_env->addresses, h, entry);
 		free(h);
 	}
+	while (!TAILQ_EMPTY(&gotwebd_env->sockets)) {
+		struct socket *sock;
+
+		sock = TAILQ_FIRST(&gotwebd_env->sockets);
+		TAILQ_REMOVE(&gotwebd_env->sockets, sock, entry);
+		free(sock);
+	}
 	while (!TAILQ_EMPTY(&gotwebd_env->servers)) {
 		struct server *srv;
 
blob - 50a67b39462d9648bf9b82b20af518700d68d49a
blob + 3bb373f4344d0faa63a41e1a402450610f836e23
--- gotwebd/sockets.c
+++ gotwebd/sockets.c
@@ -398,6 +398,14 @@ sockets_shutdown(void)
 		h = TAILQ_FIRST(&gotwebd_env->addresses);
 		TAILQ_REMOVE(&gotwebd_env->addresses, h, entry);
 		free(h);
+	}
+
+	while (!TAILQ_EMPTY(&gotwebd_env->sockets)) {
+		struct socket *sock;
+
+		sock = TAILQ_FIRST(&gotwebd_env->sockets);
+		TAILQ_REMOVE(&gotwebd_env->sockets, sock, entry);
+		free(sock);
 	}
 
 	imsgbuf_clear(&gotwebd_env->iev_parent->ibuf);