Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP7:GA
open-vm-tools.23972
gcc_size_t.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gcc_size_t.patch of Package open-vm-tools.23972
commit de6d129476724668b8903e2a87654f50ba21b1b2 Author: John Wolfe <jwolfe@vmware.com> Date: Thu Feb 17 14:51:25 2022 -0800 asyncsocket.c: Use size_t in place of int type for array size and indexing. Glibc 2.35 with GCC 11 and 12 produces additional warnings about strings and array bounds. Switching from "int" to "size_t" type for variable used for the array size and element indexing. GCC warned when an integer value is passed as the size of the struct pollfd array to poll(). Fixes https://github.com/vmware/open-vm-tools/issues/570 diff --git a/open-vm-tools/lib/asyncsocket/asyncSocketVTable.h b/open-vm-tools/lib/asyncsocket/asyncSocketVTable.h index a69b6567..c068ff50 100644 --- a/open-vm-tools/lib/asyncsocket/asyncSocketVTable.h +++ b/open-vm-tools/lib/asyncsocket/asyncSocketVTable.h @@ -1,5 +1,5 @@ /********************************************************* - * Copyright (C) 2011,2014-2017,2019-2021 VMware, Inc. All rights reserved. + * Copyright (C) 2011,2014-2017,2019-2022 VMware, Inc. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published @@ -131,8 +131,8 @@ typedef struct AsyncSocketVTable { int timeoutMS); int (*doOneMsg)(AsyncSocket *s, Bool read, int timeoutMS); int (*waitForConnection)(AsyncSocket *s, int timeoutMS); - int (*waitForReadMultiple)(AsyncSocket **asock, int numSock, int timeoutMS, - int *outIdx); + int (*waitForReadMultiple)(AsyncSocket **asock, size_t numSock, + int timeoutMS, int *outIdx); int (*peek)(AsyncSocket *asock, void *buf, int len, void *cb, void *cbData); /* diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c index ecb5a933..2bf97b54 100644 --- a/open-vm-tools/lib/asyncsocket/asyncsocket.c +++ b/open-vm-tools/lib/asyncsocket/asyncsocket.c @@ -370,7 +370,7 @@ static int AsyncTCPSocketRecvPartialBlocking(AsyncSocket *s, void *buf, int len, static int AsyncTCPSocketSendBlocking(AsyncSocket *s, void *buf, int len, int *sent, int timeoutMS); static int AsyncTCPSocketDoOneMsg(AsyncSocket *s, Bool read, int timeoutMS); -static int AsyncTCPSocketWaitForReadMultiple(AsyncSocket **asock, int numSock, +static int AsyncTCPSocketWaitForReadMultiple(AsyncSocket **asock, size_t numSock, int timeoutMS, int *outIdx); static int AsyncTCPSocketSetOption(AsyncSocket *asyncSocket, AsyncSocketOpts_Layer layer, @@ -2807,7 +2807,7 @@ AsyncTCPSocketPeek(AsyncSocket *base, // IN: static int AsyncTCPSocketPollWork(AsyncTCPSocket **asock, // IN: - int numSock, // IN: + size_t numSock, // IN: void *p, // IN: Bool read, // IN: int timeoutMS, // IN: @@ -2827,11 +2827,11 @@ AsyncTCPSocketPollWork(AsyncTCPSocket **asock, // IN: struct fd_set rwfds; struct fd_set exceptfds; #endif - int i; + size_t i; int retval; ASSERT(outAsock != NULL && *outAsock == NULL && asock != NULL && - numSock > 0); + numSock != 0); for (i = 0; i < numSock; i++) { if (read && SSL_Pending(asock[i]->sslSock)) { @@ -2852,7 +2852,7 @@ AsyncTCPSocketPollWork(AsyncTCPSocket **asock, // IN: retval = poll(pfd, numSock, timeoutMS); AsyncTCPSocketLock(parentSock); } else { - for (i = numSock - 1; i >= 0; i--) { + for (i = numSock; i-- > 0; ) { AsyncTCPSocketUnlock(asock[i]); } retval = poll(pfd, numSock, timeoutMS); @@ -2878,7 +2878,7 @@ AsyncTCPSocketPollWork(AsyncTCPSocket **asock, // IN: &exceptfds, timeoutMS >= 0 ? &tv : NULL); AsyncTCPSocketLock(parentSock); } else { - for (i = numSock - 1; i >= 0; i--) { + for (i = numSock; i-- > 0; ) { AsyncTCPSocketUnlock(asock[i]); } retval = select(1, read ? &rwfds : NULL, read ? NULL : &rwfds, @@ -3032,7 +3032,7 @@ AsyncTCPSocketPoll(AsyncTCPSocket *s, // IN: #else void *p = NULL; #endif - int numSock = 0; + size_t numSock = 0; if (read && s->fd == -1) { if (!s->listenAsock4 && !s->listenAsock6) { @@ -3078,11 +3078,11 @@ AsyncTCPSocketPoll(AsyncTCPSocket *s, // IN: static int AsyncTCPSocketWaitForReadMultiple(AsyncSocket **asock, // IN: - int numSock, // IN: + size_t numSock, // IN: int timeoutMS, // IN: int *outIdx) // OUT: { - int i; + size_t i; int err; AsyncTCPSocket *outAsock = NULL; #ifndef _WIN32 @@ -3096,7 +3096,7 @@ AsyncTCPSocketWaitForReadMultiple(AsyncSocket **asock, // IN: } err = AsyncTCPSocketPollWork((AsyncTCPSocket **)asock, numSock, p, TRUE, timeoutMS, NULL, &outAsock); - for (i = numSock - 1; i >= 0; i--) { + for (i = numSock; i-- > 0; ) { AsyncTCPSocket *tcpAsock = TCPSocket(asock[i]); if (outAsock == tcpAsock) { *outIdx = i;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor