]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
gracefully handle closed connections
authorAlan T. DeKok <aland@freeradius.org>
Fri, 2 Apr 2021 12:56:26 +0000 (08:56 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 2 Apr 2021 12:56:26 +0000 (08:56 -0400)
src/lib/packet.c

index d19c4c0522e0e8c0fd23824cd3d3404878f09782..acba8d9f0172ab0cb8e06943904327bca953f0a2 100644 (file)
@@ -924,6 +924,10 @@ RADIUS_PACKET *fr_packet_list_recv(fr_packet_list_t *pl, fd_set *set)
 #ifdef WITH_TCP
                if (pl->sockets[start].proto == IPPROTO_TCP) {
                        packet = fr_tcp_recv(pl->sockets[start].sockfd, 0);
+                       if (!packet) {
+                               fr_strerror_printf("TCP connection has been closed");
+                               return NULL;
+                       }
 
                        /*
                         *      We always know src/dst ip/port for TCP