aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-06-10 11:13:50 +0800
committerRunxi Yu <me@runxiyu.org>2025-06-10 11:13:50 +0800
commit9a53fb2212f2068b517b938a234dd5e39a31945e (patch)
tree46926d50e20253a5506f16a6020ae9725a79a269
parentgit2d: Log errors from pthread_create (diff)
downloadforge-9a53fb2212f2068b517b938a234dd5e39a31945e.tar.gz
forge-9a53fb2212f2068b517b938a234dd5e39a31945e.tar.zst
forge-9a53fb2212f2068b517b938a234dd5e39a31945e.zip
git2d: Fix socket fd leak and memory leak in main loop
-rw-r--r--git2d/main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/git2d/main.c b/git2d/main.c
index 2579472..14b9f90 100644
--- a/git2d/main.c
+++ b/git2d/main.c
@@ -53,6 +53,7 @@ main(int argc, char **argv)
*conn = accept(sock, 0, 0);
if (*conn == -1) {
+ free(conn);
warn("accept");
continue;
}
@@ -60,6 +61,8 @@ main(int argc, char **argv)
pthread_t thread;
if (pthread_create(&thread, NULL, session, (void *)conn) != 0) {
+ close(*conn);
+ free(conn);
warn("pthread_create");
}
}