From f25c92359e57b1e97c86174067485acf6a9445de Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 31 Mar 2012 21:17:46 +0200 Subject: Handle receive errors correctly --- src/fastd.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') 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; -- cgit v1.2.3