From 974358954bb4d02f713d29fa5f5f25affe52a158 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 27 Apr 2022 10:50:00 +0200 Subject: [PATCH] BUILD: fd: disguise the fd_set_nonblock/cloexec result We thought that we could get rid of some DISGUISE() with commit a80e4a354 ("MINOR: fd: add functions to set O_NONBLOCK and FD_CLOEXEC") thanks to the calls being in a function but that was without counting on Coverity. Let's put it directly in the function since most if not all callers don't care about this result. --- src/fd.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/fd.c b/src/fd.c index 6b2942d13..4fbdaef45 100644 --- a/src/fd.c +++ b/src/fd.c @@ -363,17 +363,22 @@ void fd_delete(int fd) _fd_delete_orphan(fd); } -/* makes the new fd non-blocking and clears all other O_* flags; - * this is meant to be used on new FDs. Returns -1 on failure. +/* makes the new fd non-blocking and clears all other O_* flags; this is meant + * to be used on new FDs. Returns -1 on failure. The result is disguised at the + * end because some callers need to be able to ignore it regardless of the libc + * attributes. */ int fd_set_nonblock(int fd) { int ret = fcntl(fd, F_SETFL, O_NONBLOCK); - return ret; + return DISGUISE(ret); } -/* sets the close-on-exec flag on fd; returns -1 on failure. */ +/* sets the close-on-exec flag on fd; returns -1 on failure. The result is + * disguised at the end because some callers need to be able to ignore it + * regardless of the libc attributes. + */ int fd_set_cloexec(int fd) { int flags, ret; @@ -381,7 +386,7 @@ int fd_set_cloexec(int fd) flags = fcntl(fd, F_GETFD); flags |= FD_CLOEXEC; ret = fcntl(fd, F_SETFD, flags); - return ret; + return DISGUISE(ret); } /*