[Cluster-devel] [PATCH 02/41] libcman: fix fd usage

Steven Whitehouse swhiteho at redhat.com
Wed Nov 23 10:32:03 UTC 2011


Hi,

On Wed, 2011-11-23 at 11:15 +0100, Fabio M. Di Nitto wrote:
> Spotted by Coverity Scan
> 
> Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>
> ---
> :100644 100644 9ea82c1... 46f5c89... M	cman/lib/libcman.c
>  cman/lib/libcman.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/cman/lib/libcman.c b/cman/lib/libcman.c
> index 9ea82c1..46f5c89 100644
> --- a/cman/lib/libcman.c
> +++ b/cman/lib/libcman.c
> @@ -318,8 +318,8 @@ static cman_handle_t open_socket(const char *name, int namelen, void *privdata)
>  		free(h);
>  		h = NULL;
>  		errno = saved_errno;
> -	}
> -	fcntl(h->zero_fd, F_SETFD, 1); /* Set close-on-exec */
> +	} else
> +		fcntl(h->zero_fd, F_SETFD, 1); /* Set close-on-exec */
FD_CLOEXEC would be a bit clearer than 1, even with the comment. Also
its normal to do a F_GETFD first and OR the new flag so that you don't
accidentally reset any other flags that are set on the fd beforehand.
I'm not sure whether that makes sense in this particular case though,

Steve.

>  
>  	return (cman_handle_t)h;
>  }





More information about the Cluster-devel mailing list