diff mbox series

package/libcamera-apps: fix overflow conversion error

Message ID 20230131133626.638374-1-marcus.folkesson@gmail.com
State Accepted
Headers show
Series package/libcamera-apps: fix overflow conversion error | expand

Commit Message

Marcus Folkesson Jan. 31, 2023, 1:36 p.m. UTC
Upstream commit:
https://github.com/raspberrypi/libcamera-apps/commit/a65682a97e19f96b86aeceb3ca3befb1687e3861

Fixes:
- http://autobuild.buildroot.net/results/758631a9fcd62835844f78914a36dfb579e7beba/

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
---
 ...ass-VIDIOC_QUERYCAP-as-unsigned-long.patch | 34 +++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 package/libcamera-apps/0001-core-pass-VIDIOC_QUERYCAP-as-unsigned-long.patch

Comments

Thomas Petazzoni Feb. 6, 2023, 9:46 a.m. UTC | #1
On Tue, 31 Jan 2023 14:36:26 +0100
Marcus Folkesson <marcus.folkesson@gmail.com> wrote:

> Upstream commit:
> https://github.com/raspberrypi/libcamera-apps/commit/a65682a97e19f96b86aeceb3ca3befb1687e3861
> 
> Fixes:
> - http://autobuild.buildroot.net/results/758631a9fcd62835844f78914a36dfb579e7beba/
> 
> Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
> ---
>  ...ass-VIDIOC_QUERYCAP-as-unsigned-long.patch | 34 +++++++++++++++++++
>  1 file changed, 34 insertions(+)
>  create mode 100644 package/libcamera-apps/0001-core-pass-VIDIOC_QUERYCAP-as-unsigned-long.patch

Applied to master after adding a link to the upstream commit in the
patch itself. Thanks a lot!

Thomas
diff mbox series

Patch

diff --git a/package/libcamera-apps/0001-core-pass-VIDIOC_QUERYCAP-as-unsigned-long.patch b/package/libcamera-apps/0001-core-pass-VIDIOC_QUERYCAP-as-unsigned-long.patch
new file mode 100644
index 0000000000..2f4b6424a1
--- /dev/null
+++ b/package/libcamera-apps/0001-core-pass-VIDIOC_QUERYCAP-as-unsigned-long.patch
@@ -0,0 +1,34 @@ 
+From a65682a97e19f96b86aeceb3ca3befb1687e3861 Mon Sep 17 00:00:00 2001
+From: Marcus Folkesson <marcus.folkesson@gmail.com>
+Date: Tue, 31 Jan 2023 09:14:15 +0100
+Subject: [PATCH] core: pass VIDIOC_QUERYCAP as unsigned long
+
+VIDIOC_QUARYCAP is an unsigned long and should be passed as one.
+
+Get rid of the following error:
+core/libcamera_app.cpp:33:22: error: overflow in conversion from 'long unsigned int' to 'int' changes value from '2154321408' to '-2140645888' [-Werror=overflow]
+   33 |  int ret = ioctl(fd, VIDIOC_QUERYCAP, &caps);
+
+Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
+---
+ core/libcamera_app.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/core/libcamera_app.cpp b/core/libcamera_app.cpp
+index 04696fb..8cb6563 100644
+--- a/core/libcamera_app.cpp
++++ b/core/libcamera_app.cpp
+@@ -30,7 +30,9 @@ static void check_camera_stack()
+ 		return;
+ 
+ 	v4l2_capability caps;
+-	int ret = ioctl(fd, VIDIOC_QUERYCAP, &caps);
++	unsigned long request = VIDIOC_QUERYCAP;
++
++	int ret = ioctl(fd, request, &caps);
+ 	close(fd);
+ 
+ 	if (ret < 0 || strcmp((char *)caps.driver, "bm2835 mmal"))
+-- 
+2.38.1
+