aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-light/src/hicn/io/udpConnection.c
diff options
context:
space:
mode:
Diffstat (limited to 'hicn-light/src/hicn/io/udpConnection.c')
-rw-r--r--hicn-light/src/hicn/io/udpConnection.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/hicn-light/src/hicn/io/udpConnection.c b/hicn-light/src/hicn/io/udpConnection.c
index 14ffe1e5b..cd3ccc84a 100644
--- a/hicn-light/src/hicn/io/udpConnection.c
+++ b/hicn-light/src/hicn/io/udpConnection.c
@@ -326,18 +326,19 @@ static bool _sendIOVBuffer(IoOperations *ops, struct iovec *message,
return false;
}
#else
- WSABUF dataBuf[ARRAY_SIZE(message)];
+
+ WSABUF *dataBuf = (WSABUF *) malloc(size * sizeof (dataBuf));
DWORD BytesSent = 0;
- for (int i = 0; i < ARRAY_SIZE(message); i++) {
+ for (int i = 0; i < size; i++) {
dataBuf[i].buf = message[i].iov_base;
dataBuf[i].len = (ULONG)message[i].iov_len;
}
- int rc = WSASendTo(udpConnState->udpListenerSocket, dataBuf, ARRAY_SIZE(message),
+ int rc = WSASendTo(udpConnState->udpListenerSocket, dataBuf, size,
&BytesSent, 0, (SOCKADDR *)udpConnState->peerAddress,
udpConnState->peerAddressLength, NULL, NULL);
-
+ free(dataBuf);
if (rc == SOCKET_ERROR) {
return false;
}