# [PATCH] daemon: remove unnecesary restriction for listener fd

2 messages from 2025-06-26 to 2025-06-26. Participants: Carlo Marcelo Arenas Belón, Phillip Wood.
Thread: https://gitlist.dev/t/63697

## Carlo Marcelo Arenas Belón, 2025-06-26 09:51

Subject: [PATCH] daemon: remove unnecesary restriction for listener fd
Message-ID: <20250626095139.70751-1-carenas@gmail.com>
URL: https://gitlist.dev/e/20250626095139.70751-1-carenas%40gmail.com

```
Since df076bdbcc ([PATCH] GIT: Listen on IPv6 as well, if available.,
2005-07-23), any file descriptor assigned to a listening socket was
validated to be within the range to be used in an FDSET later.

6573faff34 (NO_IPV6 support for git daemon, 2005-09-28), moves to
use poll() instead of select(), that doesn't have that restriction,
so remove the original check.

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
---
 daemon.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/daemon.c b/daemon.c
index d1be61fd57..99741f0b45 100644
--- a/daemon.c
+++ b/daemon.c
@@ -990,11 +990,6 @@ static int setup_named_sock(char *listen_addr, int listen_port, struct socketlis
 		sockfd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
 		if (sockfd < 0)
 			continue;
-		if (sockfd >= FD_SETSIZE) {
-			logerror("Socket descriptor too large");
-			close(sockfd);
-			continue;
-		}
 
 #ifdef IPV6_V6ONLY
 		if (ai->ai_family == AF_INET6) {
-- 
2.50.0.132.g8e5a977e07


```

## Phillip Wood, 2025-06-26 13:17

Subject: Re: [PATCH] daemon: remove unnecesary restriction for listener fd
Message-ID: <3e03fe38-5bb5-43da-b80e-fb8ffc1b4837@gmail.com>
URL: https://gitlist.dev/e/3e03fe38-5bb5-43da-b80e-fb8ffc1b4837%40gmail.com
In-Reply-To: <20250626095139.70751-1-carenas@gmail.com>

```
Hi Carlo

On 26/06/2025 10:51, Carlo Marcelo Arenas Belón wrote:
> Since df076bdbcc ([PATCH] GIT: Listen on IPv6 as well, if available.,
> 2005-07-23), any file descriptor assigned to a listening socket was
> validated to be within the range to be used in an FDSET later.
> 
> 6573faff34 (NO_IPV6 support for git daemon, 2005-09-28), moves to
> use poll() instead of select(), that doesn't have that restriction,
> so remove the original check.

Nice find, this patch looks good to me.

Thanks

Phillip

> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
> ---
>   daemon.c | 5 -----
>   1 file changed, 5 deletions(-)
> 
> diff --git a/daemon.c b/daemon.c
> index d1be61fd57..99741f0b45 100644
> --- a/daemon.c
> +++ b/daemon.c
> @@ -990,11 +990,6 @@ static int setup_named_sock(char *listen_addr, int listen_port, struct socketlis
>   		sockfd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
>   		if (sockfd < 0)
>   			continue;
> -		if (sockfd >= FD_SETSIZE) {
> -			logerror("Socket descriptor too large");
> -			close(sockfd);
> -			continue;
> -		}
>   
>   #ifdef IPV6_V6ONLY
>   		if (ai->ai_family == AF_INET6) {


```
