summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/fastd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/fastd.c b/src/fastd.c
index 58df7ec..311af08 100644
--- a/src/fastd.c
+++ b/src/fastd.c
@@ -287,8 +287,11 @@ static void handle_socket(fastd_context *ctx, int sockfd) {
msg.msg_iovlen = 2;
ssize_t len = recvmsg(sockfd, &msg, 0);
- if (len < 0)
+ if (len < 0) {
pr_warn(ctx, "recvfrom: %s", strerror(errno));
+ fastd_buffer_free(buffer);
+ return;
+ }
buffer.len = len - 1;