Refactored asyncsocket.c patch to use size_t size and index variables.

- Replaced asyncsocket.c.patch with asyncsocket.
This commit is contained in:
John Wolfe 2022-02-09 14:28:36 -05:00
parent 43b3a93625
commit 383dd9e0af
3 changed files with 109 additions and 24 deletions

View File

@ -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 &&

101
asyncsocket.patch Normal file
View File

@ -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;

View File

@ -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-name2>.patch
BuildRequires: autoconf
@ -392,6 +392,12 @@ fi
%{_bindir}/vmware-vgauth-smoketest
%changelog
* Wed Feb 9 2022 John Wolfe <jwolfe@vmware.com> - 11.3.0-6
- Refactored asyncsocket.c patch to use size_t size and index variables.
* Tue Feb 1 2022 John Wolfe <jwolfe@vmware.com> - 11.3.0-5
- Address (fix) strings or array bounds warnings from GCC 12.0.x.
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 11.3.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild