From 35c9de34e8b05fc8db3445048bb2c49550f7b7a9 Mon Sep 17 00:00:00 2001 From: Gleb Popov <6yearold@gmail.com> Date: Fri, 22 Oct 2021 19:09:16 +0300 Subject: [PATCH] Add FreeBSD variant of the ioctl request check. --- pipewire-v4l2/src/pipewire-v4l2.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pipewire-v4l2/src/pipewire-v4l2.c b/pipewire-v4l2/src/pipewire-v4l2.c index 72ba1de46..af81c59e4 100644 --- a/pipewire-v4l2/src/pipewire-v4l2.c +++ b/pipewire-v4l2/src/pipewire-v4l2.c @@ -1741,7 +1741,11 @@ static int v4l2_ioctl(int fd, unsigned long int request, void *arg) if ((file = find_file(fd)) == NULL) return globals.old_fops.ioctl(fd, request, arg); +#ifdef __FreeBSD__ + if (arg == NULL && (request & IOC_DIRMASK != IOC_VOID)) { +#else if (arg == NULL && (_IOC_DIR(request) & (_IOC_WRITE | _IOC_READ))) { +#endif res = -EFAULT; goto done; }