diff options
Diffstat (limited to 'hicn-light/src/hicn/io/udpConnection.c')
-rw-r--r-- | hicn-light/src/hicn/io/udpConnection.c | 9 |
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; } |