[vlc-devel] [PATCH 09/12] network: io: Remove VLA usages
Hugo Beauzée-Luyssen
hugo at beauzee.fr
Tue Dec 8 15:19:13 CET 2020
---
src/network/io.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/network/io.c b/src/network/io.c
index 5285edc169..d4f15fe115 100644
--- a/src/network/io.c
+++ b/src/network/io.c
@@ -313,7 +313,9 @@ int net_Accept(vlc_object_t *obj, int *fds)
while (fds[n] != -1)
n++;
- struct pollfd ufd[n];
+ struct pollfd *ufd = malloc(n * sizeof((*ufd)));
+ if (!ufd)
+ return -1;
/* Initialize file descriptor set */
for (unsigned i = 0; i < n; i++)
{
@@ -328,6 +330,7 @@ int net_Accept(vlc_object_t *obj, int *fds)
if (net_errno != EINTR)
{
msg_Err(obj, "poll error: %s", vlc_strerror_c(net_errno));
+ free(ufd);
return -1;
}
}
@@ -359,9 +362,11 @@ int net_Accept(vlc_object_t *obj, int *fds)
*/
memmove(fds + i, fds + i + 1, n - (i + 1));
fds[n - 1] = sfd;
+ free(ufd);
return fd;
}
}
+ free(ufd);
return -1;
}
--
2.29.2
More information about the vlc-devel
mailing list