Commit Diff


commit - 0f01ac5d813fe34a941ee33dbb19dba78ddbe966
commit + 6a5431286b29f74a150aed3c2cb14c6744401e11
blob - 1d2b63de026c502f7440177d20c1b3e81c019ae6
blob + 03f8e6941798467f7ecdd2e1de64cdc88bf28422
--- gotwebd/gotweb.c
+++ gotwebd/gotweb.c
@@ -1388,6 +1388,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 - fb4dfe221b2b5e116cca94b8c78590b4759e2327
blob + 7e6aaf321f8905c1854851da0b0ffd2335b49ea9
--- gotwebd/gotwebd.c
+++ gotwebd/gotwebd.c
@@ -680,6 +680,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 - 0ddf1e382eb72e1f455b15c2ed1acf5408748f83
blob + 2d3df9cf55d52a941f6e5bb9603401f44514b73d
--- 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);