summaryrefslogtreecommitdiffstats
path: root/src/fastd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fastd.c')
-rw-r--r--src/fastd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/fastd.c b/src/fastd.c
index 6cfa442..fa6ea65 100644
--- a/src/fastd.c
+++ b/src/fastd.c
@@ -981,9 +981,12 @@ static inline void handle_socket_receive(fastd_context_t *ctx, fastd_socket_t *s
fastd_peer_t *peer = NULL;
if (sock->peer) {
- if (fastd_peer_address_equal(&sock->peer->address, remote_addr)) {
- peer = sock->peer;
+ if (!fastd_peer_address_equal(&sock->peer->address, remote_addr)) {
+ fastd_buffer_free(buffer);
+ return;
}
+
+ peer = sock->peer;
}
else {
for (peer = ctx->peers; peer; peer = peer->next) {