summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorTyler Murphy <tylerm@tylerm.dev>2023-04-11 09:27:16 -0400
committerTyler Murphy <tylerm@tylerm.dev>2023-04-11 09:27:16 -0400
commitb22811eca246c9805cd1972981bc289e224181e6 (patch)
tree021f1c298c194cb2ade17f83fcf09c18ed2a703f /src/server
parentread from config (diff)
downloadwrapper-b22811eca246c9805cd1972981bc289e224181e6.tar.gz
wrapper-b22811eca246c9805cd1972981bc289e224181e6.tar.bz2
wrapper-b22811eca246c9805cd1972981bc289e224181e6.zip
config
Diffstat (limited to 'src/server')
-rw-r--r--src/server/binding.c7
-rw-r--r--src/server/server.c3
2 files changed, 7 insertions, 3 deletions
diff --git a/src/server/binding.c b/src/server/binding.c
index 157d1d4..c643ee5 100644
--- a/src/server/binding.c
+++ b/src/server/binding.c
@@ -117,16 +117,17 @@ static bool read_tcp(Connection* connection, Packet* packet) {
&connection->sock.tcp,
&len,
sizeof(uint16_t)
- ) < 0) {
+ ) < 2) {
return false;
}
+ len = ntohs(len);
uint8_t buffer[len];
- if ( read_tcp_stream(
+ if (read_tcp_stream(
&connection->sock.tcp,
buffer,
len
- ) < 0) {
+ ) < len) {
return false;
}
diff --git a/src/server/server.c b/src/server/server.c
index 27cc9d9..f96fac0 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -91,6 +91,7 @@ static void* server_listen(void* arg) {
free_connection(&connection);
continue;
}
+ pthread_detach(thread);
}
return NULL;
@@ -120,6 +121,8 @@ void server_run(Server* server) {
pthread_join(udp, NULL);
pthread_join(tcp, NULL);
+
+ pthread_exit(0);
}
void server_free(Server* server) {