diff options
author | Test_User <hax@andrewyu.org> | 2023-06-18 18:44:42 -0400 |
---|---|---|
committer | Test_User <hax@andrewyu.org> | 2023-06-18 18:44:42 -0400 |
commit | 83cf1be35bbb7ba9868e61cb4a5406848e032c5a (patch) | |
tree | 9f659b9e179a36a19a6e75f22d71835c9aa08b32 | |
parent | dadc739154d27429c55e58ea3dd0ca1284694097 (diff) | |
download | coupserv-83cf1be35bbb7ba9868e61cb4a5406848e032c5a.tar.gz coupserv-83cf1be35bbb7ba9868e61cb4a5406848e032c5a.zip |
uint -1 is bad
Diffstat (limited to '')
-rw-r--r-- | main.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -51,7 +51,14 @@ void *client_loop(void *ign) { while (1) { char data[512]; pthread_mutex_unlock(&send_lock); // TODO: proper locking, this works for now but is certainly inefficient - uint64_t new_len = read(client_fd, data, 512); + uint64_t new_len; + { + ssize_t len = read(client_fd, data, 512); + if (len < 0) + new_len = 0; + else + new_len = len; + } pthread_mutex_lock(&send_lock); if (new_len == 0) { |