From: Willy Tarreau Date: Wed, 27 Apr 2022 08:50:00 +0000 (+0200) Subject: BUILD: fd: disguise the fd_set_nonblock/cloexec result X-Git-Tag: v2.6-dev8~57 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=974358954bb4d02f713d29fa5f5f25affe52a158;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/fd.c b/src/fd.c index 6b2942d134..4fbdaef457 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); } /*