aboutsummaryrefslogtreecommitdiffstats
path: root/extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket_wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket_wrapper.c')
-rw-r--r--extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket_wrapper.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket_wrapper.c b/extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket_wrapper.c
index 74a0dcf3b11..087cd6bbc52 100644
--- a/extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket_wrapper.c
+++ b/extras/vcl-ldpreload/src/libvcl-ldpreload/vcom_socket_wrapper.c
@@ -555,6 +555,27 @@ libc_vfcntl (int fd, int cmd, va_list ap)
return rc;
}
+DO_NOT_SANITIZE_ADDRESS_ATTRIBUTE int
+libc_vioctl (int fd, int cmd, va_list ap)
+{
+ long int args[4];
+ int rc;
+ int i;
+
+ swrap_bind_symbol_libc (ioctl);
+
+ for (i = 0; i < 4; i++)
+ {
+ args[i] = va_arg (ap, long int);
+ }
+
+ rc = swrap.libc.symbols._libc_ioctl.f (fd,
+ cmd,
+ args[0], args[1], args[2], args[3]);
+
+ return rc;
+}
+
int
libc_getpeername (int sockfd, struct sockaddr *addr, socklen_t * addrlen)
{