diff --git a/asyncsocket.c.patch b/asyncsocket.c.patch deleted file mode 100644 index 5f277c0..0000000 --- a/asyncsocket.c.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/open-vm-tools/lib/asyncsocket/asyncsocket.c b/open-vm-tools/lib/asyncsocket/asyncsocket.c -index 05147d2..05cb066 100644 ---- a/lib/asyncsocket/asyncsocket.c -+++ b/lib/asyncsocket/asyncsocket.c -@@ -2810,7 +2810,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: -@@ -2830,7 +2830,7 @@ 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 && diff --git a/asyncsocket.patch b/asyncsocket.patch new file mode 100644 index 0000000..8baa9ed --- /dev/null +++ b/asyncsocket.patch @@ -0,0 +1,101 @@ +diff --git a/open-vm-tools/lib/asyncsocket/asyncSocketVTable.h b/open-vm-tools/lib/asyncsocket/asyncSocketVTable.h +index a69b6567..01d5be9d 100644 +--- a/lib/asyncsocket/asyncSocketVTable.h ++++ b/lib/asyncsocket/asyncSocketVTable.h +@@ -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 05147d2e..b827f66b 100644 +--- a/lib/asyncsocket/asyncsocket.c ++++ b/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, +@@ -2810,7 +2810,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: +@@ -2830,11 +2830,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)) { +@@ -2855,7 +2855,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); +@@ -2881,7 +2881,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, +@@ -3035,7 +3035,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) { +@@ -3081,11 +3081,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 +@@ -3099,7 +3099,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; diff --git a/open-vm-tools.spec b/open-vm-tools.spec index 4180be4..3a40fed 100644 --- a/open-vm-tools.spec +++ b/open-vm-tools.spec @@ -32,7 +32,7 @@ Name: open-vm-tools Version: %{toolsversion} -Release: 5%{?dist} +Release: 6%{?dist} Summary: Open Virtual Machine Tools for virtual machines hosted on VMware License: GPLv2 URL: https://github.com/vmware/%{name} @@ -52,7 +52,7 @@ ExclusiveArch: %{ix86} x86_64 aarch64 %endif # Patches -Patch1: asyncsocket.c.patch +Patch1: asyncsocket.patch #Patch2: .patch BuildRequires: autoconf @@ -392,6 +392,12 @@ fi %{_bindir}/vmware-vgauth-smoketest %changelog +* Wed Feb 9 2022 John Wolfe - 11.3.0-6 +- Refactored asyncsocket.c patch to use size_t size and index variables. + +* Tue Feb 1 2022 John Wolfe - 11.3.0-5 +- Address (fix) strings or array bounds warnings from GCC 12.0.x. + * Thu Jan 20 2022 Fedora Release Engineering - 11.3.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild