Message ID | 20240312183810.557768-3-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | various: 7 minor Coverity fixes | expand |
On 12/03/2024 19.38, Peter Maydell wrote: > In socket_check_afunix_support() we call socket(PF_UNIX, SOCK_STREAM, 0) > to see if it works, but we call close() on the result whether it > worked or not. Only close the fd if the socket() call succeeded. > Spotted by Coverity. > > Resolves: Coverity CID 1497481 > > Signed-off-by: Peter Maydell <peter.maydell@linaro.org> > --- > tests/unit/socket-helpers.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/tests/unit/socket-helpers.c b/tests/unit/socket-helpers.c > index 6de27baee2e..f3439cc4e52 100644 > --- a/tests/unit/socket-helpers.c > +++ b/tests/unit/socket-helpers.c > @@ -160,7 +160,6 @@ void socket_check_afunix_support(bool *has_afunix) > int fd; > > fd = socket(PF_UNIX, SOCK_STREAM, 0); > - close(fd); > > #ifdef _WIN32 > *has_afunix = (fd != (int)INVALID_SOCKET); > @@ -168,5 +167,8 @@ void socket_check_afunix_support(bool *has_afunix) > *has_afunix = (fd >= 0); > #endif > > + if (*has_afunix) { > + close(fd); > + } > return; > } Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/tests/unit/socket-helpers.c b/tests/unit/socket-helpers.c index 6de27baee2e..f3439cc4e52 100644 --- a/tests/unit/socket-helpers.c +++ b/tests/unit/socket-helpers.c @@ -160,7 +160,6 @@ void socket_check_afunix_support(bool *has_afunix) int fd; fd = socket(PF_UNIX, SOCK_STREAM, 0); - close(fd); #ifdef _WIN32 *has_afunix = (fd != (int)INVALID_SOCKET); @@ -168,5 +167,8 @@ void socket_check_afunix_support(bool *has_afunix) *has_afunix = (fd >= 0); #endif + if (*has_afunix) { + close(fd); + } return; }
In socket_check_afunix_support() we call socket(PF_UNIX, SOCK_STREAM, 0) to see if it works, but we call close() on the result whether it worked or not. Only close the fd if the socket() call succeeded. Spotted by Coverity. Resolves: Coverity CID 1497481 Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- tests/unit/socket-helpers.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)