summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-graphics
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-graphics')
-rw-r--r--meta-oe/recipes-graphics/feh/feh_3.12.1.bb (renamed from meta-oe/recipes-graphics/feh/feh_3.11.3.bb)2
-rw-r--r--meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver/cmake.patch24
-rw-r--r--meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver_git.bb28
-rw-r--r--meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb3
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch50
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch8
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch8
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch39
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-fix-const-qualifier-violations.patch73
-rw-r--r--meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.32.bb (renamed from meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb)5
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-libgphoto2-fix-const-correctness-for-c23-builds.patch84
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch150
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch37
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch43
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch44
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch34
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch41
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch40
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch69
-rw-r--r--meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb11
-rw-r--r--meta-oe/recipes-graphics/graphviz/graphviz_14.1.5.bb (renamed from meta-oe/recipes-graphics/graphviz/graphviz_14.1.3.bb)8
-rw-r--r--meta-oe/recipes-graphics/kmscon/kmscon_9.3.3.bb (renamed from meta-oe/recipes-graphics/kmscon/kmscon_9.3.2.bb)4
-rw-r--r--meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb25
-rw-r--r--meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.10.bb (renamed from meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.8.bb)2
-rw-r--r--meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.2.bb (renamed from meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.0.bb)4
-rw-r--r--meta-oe/recipes-graphics/libsdl3/libsdl3-mixer_3.2.0.bb28
-rw-r--r--meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.4.bb (renamed from meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.2.bb)2
-rw-r--r--meta-oe/recipes-graphics/libtsm/libtsm_4.4.3.bb (renamed from meta-oe/recipes-graphics/libtsm/libtsm_4.4.2.bb)2
-rw-r--r--meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch35
-rw-r--r--meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb1
-rw-r--r--meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch42
-rw-r--r--meta-oe/recipes-graphics/surf/surf_2.1.bb12
-rw-r--r--meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb (renamed from meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.0.bb)4
-rw-r--r--meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.5.bb (renamed from meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb)2
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xterm_408.bb (renamed from meta-oe/recipes-graphics/xorg-app/xterm_407.bb)2
-rw-r--r--meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb1
36 files changed, 799 insertions, 168 deletions
diff --git a/meta-oe/recipes-graphics/feh/feh_3.11.3.bb b/meta-oe/recipes-graphics/feh/feh_3.12.1.bb
index c79ad488ba..2ac504a551 100644
--- a/meta-oe/recipes-graphics/feh/feh_3.11.3.bb
+++ b/meta-oe/recipes-graphics/feh/feh_3.12.1.bb
@@ -9,7 +9,7 @@ DEPENDS = "\
9" 9"
10 10
11SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2" 11SRC_URI = "https://feh.finalrewind.org/feh-${PV}.tar.bz2"
12SRC_URI[sha256sum] = "f2cca3592a433922c0db7a9365fd63e5402c121d932a9327e279c71be6501063" 12SRC_URI[sha256sum] = "6772f48e7956a16736e4c165a8367f357efc413b895f5b04133366e01438f95d"
13 13
14inherit mime-xdg features_check 14inherit mime-xdg features_check
15# depends on virtual/libx11 15# depends on virtual/libx11
diff --git a/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver/cmake.patch b/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver/cmake.patch
new file mode 100644
index 0000000000..03673ce323
--- /dev/null
+++ b/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver/cmake.patch
@@ -0,0 +1,24 @@
1From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?J=C3=B6rg=20Sommer?= <joerg@jo-so.de>
3Date: Tue, 21 Apr 2026 20:20:42 +0200
4Subject: [PATCH] CMakeLists: Raise minimum version to 3.10
5
6CMake 4 requires at least 3.5, but suggests 3.10.
7
8Signed-off-by: Jörg Sommer <joerg@jo-so.de>
9Upstream-Status: Submitted [https://github.com/ponty/framebuffer-vncserver/pull/30]
10---
11 CMakeLists.txt | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/CMakeLists.txt b/CMakeLists.txt
15index c8b8f90..d342734 100644
16--- a/CMakeLists.txt
17+++ b/CMakeLists.txt
18@@ -1,5 +1,5 @@
19 PROJECT(framebuffer-vncserver)
20-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
21+CMAKE_MINIMUM_REQUIRED(VERSION 3.10)
22
23
24 FILE(GLOB SOURCES src/*.c)
diff --git a/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver_git.bb b/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver_git.bb
new file mode 100644
index 0000000000..d7ce066cb2
--- /dev/null
+++ b/meta-oe/recipes-graphics/framebuffer-vncserver/framebuffer-vncserver_git.bb
@@ -0,0 +1,28 @@
1SUMMARY = "VNC server for Linux framebuffer devices"
2DESCRIPTION = "\
3 The goal is to access remote embedded Linux systems without X. Implemented \
4 features: remote display, touchscreen, keyboard, rotation. Not implemented: \
5 file transfer, ... \
6"
7HOMEPAGE = "https://github.com/ponty/framebuffer-vncserver"
8BUGTRACKER = "https://github.com/ponty/framebuffer-vncserver/issues"
9SECTION = "graphics"
10
11LICENSE = "GPL-2.0-only"
12LIC_FILES_CHKSUM = "file://LICENSE;md5=8264535c0c4e9c6c335635c4026a8022"
13
14DEPENDS = "libvncserver"
15
16SRC_URI = "\
17 git://github.com/ponty/framebuffer-vncserver.git;protocol=https;branch=master \
18 file://cmake.patch \
19"
20SRCREV = "1963e57bebfde420baeecbb2c6848a2382488413"
21
22inherit cmake systemd
23
24do_install:append() {
25 install -m 644 -D -t ${D}${systemd_system_unitdir} ${S}/fbvnc.service
26}
27
28SYSTEMD_SERVICE:${PN} = "fbvnc.service"
diff --git a/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb b/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb
index e8ad2aad0f..959463e962 100644
--- a/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb
+++ b/meta-oe/recipes-graphics/fvwm/fvwm_2.7.0.bb
@@ -119,6 +119,9 @@ FILES:${PN}-doc = " \
119 ${mandir} \ 119 ${mandir} \
120 ${datadir}/fvwm \ 120 ${datadir}/fvwm \
121" 121"
122RDEPENDS:${PN} = " \
123 xuser-account \
124"
122RDEPENDS:${PN}-extra += "\ 125RDEPENDS:${PN}-extra += "\
123 perl \ 126 perl \
124 python3-core \ 127 python3-core \
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch
deleted file mode 100644
index e0c3de469a..0000000000
--- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-Match-prototypes-of-callbacks-with-libgphoto.patch
+++ /dev/null
@@ -1,50 +0,0 @@
1From 366930ccc1a261c3eb883da2bf3c655162ccd75f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 1 Mar 2023 22:58:37 -0800
4Subject: [PATCH] Match prototypes of callbacks with libgphoto
5
6In https://github.com/gphoto/gphoto2/pull/535/commits/ccc4c1f092bd21ebc713f4d7b9be85be49f92f1e
7we tried to fix by using pthread_t but it also needs to make changes in
8libgphoto and these changes can be invasive, therefore lets revert to
9older types and to fix musl problem fix it via type casts
10
11Upstream-Status: Backport [https://github.com/gphoto/gphoto2/pull/569]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 gphoto2/main.c | 8 ++++----
15 1 file changed, 4 insertions(+), 4 deletions(-)
16
17diff --git a/gphoto2/main.c b/gphoto2/main.c
18index 0dac947..cd3c990 100644
19--- a/gphoto2/main.c
20+++ b/gphoto2/main.c
21@@ -1198,7 +1198,7 @@ thread_func (void *data)
22 pthread_cleanup_pop (1);
23 }
24
25-static pthread_t
26+static unsigned int
27 start_timeout_func (Camera *camera, unsigned int timeout,
28 CameraTimeoutFunc func, void __unused__ *data)
29 {
30@@ -1215,14 +1215,14 @@ start_timeout_func (Camera *camera, unsigned int timeout,
31
32 pthread_create (&tid, NULL, thread_func, td);
33
34- return (tid);
35+ return (unsigned int)tid;
36 }
37
38 static void
39-stop_timeout_func (Camera __unused__ *camera, pthread_t id,
40+stop_timeout_func (Camera __unused__ *camera, unsigned int id,
41 void __unused__ *data)
42 {
43- pthread_t tid = id;
44+ pthread_t tid = (pthread_t)id;
45
46 pthread_cancel (tid);
47 pthread_join (tid, NULL);
48--
492.39.2
50
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch
index 3d54d58e18..bd916e339a 100644
--- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure-Filter-out-buildpaths-from-CC.patch
@@ -14,13 +14,13 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
14--- a/configure.ac 14--- a/configure.ac
15+++ b/configure.ac 15+++ b/configure.ac
16@@ -26,7 +26,9 @@ AC_PROG_INSTALL 16@@ -26,7 +26,9 @@ AC_PROG_INSTALL
17 AC_SYS_LARGEFILE 17 ])
18 18
19 GP_CONFIG_MSG([Compiler],[${CC}]) 19 GP_CONFIG_MSG([Compiler], [${CC}])
20-AC_DEFINE_UNQUOTED([HAVE_CC],"$CC",[The C compiler we're using]) 20-AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC"], [The C compiler we are using])
21+CC_NO_SYSROOT=`echo $CC | sed -e \ 21+CC_NO_SYSROOT=`echo $CC | sed -e \
22+ 's|--sysroot=.*\b||g'` 22+ 's|--sysroot=.*\b||g'`
23+AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"], [The C compiler we're using]) 23+AC_DEFINE_UNQUOTED([HAVE_CC], ["$CC_NO_SYSROOT"], [The C compiler we are using])
24 24
25 dnl AC_STRUCT_TIMEZONE 25 dnl AC_STRUCT_TIMEZONE
26 26
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
index 14976ffb72..358dbbb51a 100644
--- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-configure.ac-remove-AM_PO_SUBDIRS.patch
@@ -14,10 +14,10 @@ Upstream-Status: Pending
14--- a/configure.ac 14--- a/configure.ac
15+++ b/configure.ac 15+++ b/configure.ac
16@@ -46,7 +46,6 @@ dnl i18n support 16@@ -46,7 +46,6 @@ dnl i18n support
17 dnl --------------------------------------------------------------------------- 17 GP_GETTEXT_SETUP([GETTEXT_PACKAGE_GPHOTO2],
18 GP_GETTEXT_HACK([],[Lutz Müller and others],[${MAIL_GPHOTO_TRANSLATION}]) 18 [gphoto2],
19 ALL_LINGUAS="az cs da de en_GB es eu fi fr hu id is it ja nl pa pl pt_BR ro ru rw sk sr sv uk vi zh_CN zh_TW" 19 [po])
20-AM_PO_SUBDIRS() 20-AM_PO_SUBDIRS()
21 AM_GNU_GETTEXT_VERSION([0.14.1]) 21 AM_GNU_GETTEXT_VERSION([0.19.1])
22 AM_GNU_GETTEXT([external]) 22 AM_GNU_GETTEXT([external])
23 AM_ICONV() 23 AM_ICONV()
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch
deleted file mode 100644
index a27c02cefc..0000000000
--- a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From 23c67e93e51f700d0aeecfc08277e39f51201fc3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 2 Sep 2022 12:59:46 -0700
4Subject: [PATCH] gphoto2: Use pthread_t abstract type for thead IDs
5
6This is not a plain old datatype in every libc, e.g. with musl this
7would fail in type conversion
8
9Upstream-Status: Submitted [https://github.com/gphoto/gphoto2/pull/535]
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 gphoto2/main.c | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/gphoto2/main.c b/gphoto2/main.c
16index 2bf5964..9a6b05d 100644
17--- a/gphoto2/main.c
18+++ b/gphoto2/main.c
19@@ -1198,7 +1198,7 @@ thread_func (void *data)
20 pthread_cleanup_pop (1);
21 }
22
23-static unsigned int
24+static pthread_t
25 start_timeout_func (Camera *camera, unsigned int timeout,
26 CameraTimeoutFunc func, void __unused__ *data)
27 {
28@@ -1219,7 +1219,7 @@ start_timeout_func (Camera *camera, unsigned int timeout,
29 }
30
31 static void
32-stop_timeout_func (Camera __unused__ *camera, unsigned int id,
33+stop_timeout_func (Camera __unused__ *camera, pthread_t id,
34 void __unused__ *data)
35 {
36 pthread_t tid = id;
37--
382.37.3
39
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-fix-const-qualifier-violations.patch b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-fix-const-qualifier-violations.patch
new file mode 100644
index 0000000000..a8f85d034c
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2/0001-gphoto2-fix-const-qualifier-violations.patch
@@ -0,0 +1,73 @@
1From 55edc241e9b61b14153c61fd0baaefac927ad89f Mon Sep 17 00:00:00 2001
2From: Khem Raj <khem.raj@oss.qualcomm.com>
3Date: Tue, 21 Apr 2026 17:39:43 -0700
4Subject: [PATCH] gphoto2: fix const qualifier violations
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9No logic is changed. The patch is a pure
10type-correctness fix that makes the variable
11declarations match the actual semantics —
12const char * for pointers into string literals
13or function parameters that must not be mutated,
14and char * only for owned heap memory. This
15satisfies Clang's strict qualifier checking without
16needing any casts or warning suppressions.
17
18Fixes errors seen on clang with
19 -Werror,-Wincompatible-pointer-types-discards-qualifiers
20
21Upstream-Status: Pending
22Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
23---
24 gphoto2/main.c | 14 ++++++++------
25 1 file changed, 8 insertions(+), 6 deletions(-)
26
27diff --git a/gphoto2/main.c b/gphoto2/main.c
28index 5a3c5c1..086f9df 100644
29--- a/gphoto2/main.c
30+++ b/gphoto2/main.c
31@@ -146,7 +146,8 @@ static int
32 get_path_for_file (const char *folder, const char *name, CameraFileType type, CameraFile *file, char **path)
33 {
34 unsigned int i, l;
35- char *s = NULL, b[1024];
36+ const char *s = NULL;
37+ char *p = NULL; char b[1024];
38 time_t t = 0;
39 struct tm *tm;
40 int hour12;
41@@ -339,18 +340,18 @@ get_path_for_file (const char *folder, const char *name, CameraFileType type, Ca
42 b[1] = '\0';
43 }
44
45- s = *path ? realloc (*path, strlen (*path) + strlen (b) + 1) :
46+ p = *path ? realloc (*path, strlen (*path) + strlen (b) + 1) :
47 malloc (strlen (b) + 1);
48- if (!s) {
49+ if (!p) {
50 free (*path);
51 *path = NULL;
52 return (GP_ERROR_NO_MEMORY);
53 }
54 if (*path) {
55- *path = s;
56+ *path = p;
57 strcat (*path, b);
58 } else {
59- *path = s;
60+ *path = p;
61 strcpy (*path, b);
62 }
63 }
64@@ -696,7 +697,8 @@ dissolve_filename (
65 const char *folder, const char *filename,
66 char **newfolder, char **newfilename
67 ) {
68- char *nfolder, *s;
69+ char *nfolder;
70+ const char *s;
71
72 s = strrchr (filename, '/');
73 if (!s) {
diff --git a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.32.bb
index 40409ed388..dbd2b0e748 100644
--- a/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.28.bb
+++ b/meta-oe/recipes-graphics/gphoto2/gphoto2_2.5.32.bb
@@ -8,11 +8,10 @@ RDEPENDS:gphoto2 = "libgphoto2"
8 8
9SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.bz2;name=gphoto2 \ 9SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.bz2;name=gphoto2 \
10 file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \ 10 file://0001-configure.ac-remove-AM_PO_SUBDIRS.patch \
11 file://0001-gphoto2-Use-pthread_t-abstract-type-for-thead-IDs.patch \
12 file://0001-Match-prototypes-of-callbacks-with-libgphoto.patch \
13 file://0001-configure-Filter-out-buildpaths-from-CC.patch \ 11 file://0001-configure-Filter-out-buildpaths-from-CC.patch \
12 file://0001-gphoto2-fix-const-qualifier-violations.patch \
14" 13"
15SRC_URI[gphoto2.sha256sum] = "2a648dcdf12da19e208255df4ebed3e7d2a02f905be4165f2443c984cf887375" 14SRC_URI[gphoto2.sha256sum] = "4e379a0f12f72b49ee5ee2283ffd806b5d12d099939d75197a3f4bbc7f27a1a1"
16 15
17inherit autotools pkgconfig gettext 16inherit autotools pkgconfig gettext
18 17
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-libgphoto2-fix-const-correctness-for-c23-builds.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-libgphoto2-fix-const-correctness-for-c23-builds.patch
new file mode 100644
index 0000000000..9ded174095
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/0001-libgphoto2-fix-const-correctness-for-c23-builds.patch
@@ -0,0 +1,84 @@
1From bfa786a260bfd4660e8186ebad8778718e85e8cd Mon Sep 17 00:00:00 2001
2From: Khem Raj <khem.raj@oss.qualcomm.com>
3Date: Sat, 4 Apr 2026 14:56:01 -0700
4Subject: [PATCH] libgphoto2: fix const-correctness for c23 builds
5
6C23 treats the return values of strrchr() and strchr() as const char *
7when the input string is const-qualified. Update local variables to use
8const char * where appropriate to avoid discarded-qualifier warnings and
9build failures with -std=gnu23.
10
11No functional change intended.
12
13Upstream-Status: Submitted [https://github.com/gphoto/libgphoto2/pull/1235]
14Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
15---
16 camlibs/directory/directory.c | 2 +-
17 libgphoto2/gphoto2-file.c | 6 +++---
18 libgphoto2/gphoto2-filesys.c | 2 +-
19 packaging/generic/print-camera-list.c | 2 +-
20 4 files changed, 6 insertions(+), 6 deletions(-)
21
22diff --git a/camlibs/directory/directory.c b/camlibs/directory/directory.c
23index 790405d54..cc63c6684 100644
24--- a/camlibs/directory/directory.c
25+++ b/camlibs/directory/directory.c
26@@ -125,7 +125,7 @@ static const char *
27 get_mime_type (const char *filename)
28 {
29
30- char *dot;
31+ const char *dot;
32 int x=0;
33
34 dot = strrchr(filename, '.');
35diff --git a/libgphoto2/gphoto2-file.c b/libgphoto2/gphoto2-file.c
36index 04d4d5e3e..1a9dbc193 100644
37--- a/libgphoto2/gphoto2-file.c
38+++ b/libgphoto2/gphoto2-file.c
39@@ -610,7 +610,7 @@ int
40 gp_file_open (CameraFile *file, const char *filename)
41 {
42 FILE *fp;
43- char *name, *dot;
44+ const char *name, *dot;
45 long size, size_read;
46 int i;
47 struct stat s;
48@@ -906,8 +906,8 @@ gp_file_get_name (CameraFile *file, const char **name)
49 int
50 gp_file_get_name_by_type (CameraFile *file, const char *basename, CameraFileType type, char **newname)
51 {
52- char *prefix = NULL, *s, *new, *slash = NULL;
53- const char *suffix = NULL;
54+ char *prefix = NULL, *new;
55+ const char *suffix = NULL, *s, *slash = NULL;
56 int i;
57
58 C_PARAMS (file && basename && newname);
59diff --git a/libgphoto2/gphoto2-filesys.c b/libgphoto2/gphoto2-filesys.c
60index 45f957292..07decff24 100644
61--- a/libgphoto2/gphoto2-filesys.c
62+++ b/libgphoto2/gphoto2-filesys.c
63@@ -521,7 +521,7 @@ append_to_folder (CameraFilesystemFolder *folder,
64 CameraFilesystemFolder **newfolder
65 ) {
66 CameraFilesystemFolder *f;
67- char *s;
68+ const char *s;
69
70 GP_LOG_D ("Append to folder %p/%s - %s", folder, folder->name, foldername);
71 /* Handle multiple slashes, and slashes at the end */
72diff --git a/packaging/generic/print-camera-list.c b/packaging/generic/print-camera-list.c
73index 1707b4e87..44530b4ae 100644
74--- a/packaging/generic/print-camera-list.c
75+++ b/packaging/generic/print-camera-list.c
76@@ -1138,7 +1138,7 @@ escape_html(const char *str) {
77 newstr = malloc(strlen(str)+1+inc);
78 s = str; ns = newstr;
79 do {
80- char *x;
81+ const char *x;
82 x = strchr(s,'&');
83 if (x) {
84 memcpy (ns, s, x-s);
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch
new file mode 100644
index 0000000000..77c307e88d
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40333.patch
@@ -0,0 +1,150 @@
1From 8fefd2da7b9e2c7c448086cd251b108c0ebf1262 Mon Sep 17 00:00:00 2001
2From: Marcus Meissner <marcus@jet.franken.de>
3Date: Wed, 8 Apr 2026 15:18:42 +0200
4Subject: [PATCH] Fixed EOS ImageFormat/CustomFuncEx Parsers Lack Length
5 Parameter
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10ptp_unpack_EOS_ImageFormat() and ptp_unpack_EOS_CustomFuncEx() accept
11const unsigned char** data but no length/size parameter. They perform
12unbounded reads via dtoh32o calls (up to 36 bytes for ImageFormat,
13up to 1024 bytes for CustomFuncEx). Callers in ptp_unpack_EOS_events()
14have xsize available but never pass it.
15
16 CVE-2026-40333
17
18Reported-By: Sebastián Alba <sebasjosue84@gmail.com>
19
20CVE: CVE-2026-40333
21Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/1817ecead20c2aafa7549dac9619fe38f47b2f53]
22Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
23---
24 camlibs/ptp2/ptp-pack.c | 53 ++++++++++++++++++++++++++++++++++-------
25 1 file changed, 44 insertions(+), 9 deletions(-)
26
27diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c
28index 09421b7..09dcc24 100644
29--- a/camlibs/ptp2/ptp-pack.c
30+++ b/camlibs/ptp2/ptp-pack.c
31@@ -1448,7 +1448,7 @@ ptp_unpack_Canon_EOS_FE (PTPParams *params, const unsigned char* data, unsigned
32
33
34 static inline uint16_t
35-ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data )
36+ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data, unsigned int *size )
37 {
38 /*
39 EOS ImageFormat entries look are a sequence of u32 values:
40@@ -1492,30 +1492,57 @@ ptp_unpack_EOS_ImageFormat (PTPParams* params, const unsigned char** data )
41
42 const uint8_t* d = *data;
43 uint32_t offset = 0;
44- uint32_t n = dtoh32o (d, offset);
45+ uint32_t n;
46 uint32_t l, t1, s1, c1, t2 = 0, s2 = 0, c2 = 0;
47
48+ if (*size < sizeof(uint32_t)) {
49+ ptp_debug (params, "parsing EOS ImageFormat property failed 1 (size %d)", *size);
50+ return 0;
51+ }
52+ n = dtoh32o (d, offset);
53+ *size -= sizeof(uint32_t);
54+
55 if (n != 1 && n !=2) {
56 ptp_debug (params, "parsing EOS ImageFormat property failed (n != 1 && n != 2: %d)", n);
57 return 0;
58 }
59-
60+ if (*size < sizeof(uint32_t)) {
61+ ptp_debug (params, "parsing EOS ImageFormat property failed 2 (size %d)", *size);
62+ return 0;
63+ }
64 l = dtoh32o (d, offset);
65+ *size -= sizeof(uint32_t);
66+
67 if (l != 0x10) {
68 ptp_debug (params, "parsing EOS ImageFormat property failed (l != 0x10: 0x%x)", l);
69 return 0;
70 }
71
72+ if (*size < 3*sizeof(uint32_t)) {
73+ ptp_debug (params, "parsing EOS ImageFormat property failed 3 (size %d)", *size);
74+ return 0;
75+ }
76 t1 = dtoh32o (d, offset);
77 s1 = dtoh32o (d, offset);
78 c1 = dtoh32o (d, offset);
79+ *size -= 3*sizeof(uint32_t);
80
81 if (n == 2) {
82+ if (*size < sizeof(uint32_t)) {
83+ ptp_debug (params, "parsing EOS ImageFormat property failed 4 (size %d)", *size);
84+ return 0;
85+ }
86 l = dtoh32o (d, offset);
87+ *size -= sizeof(uint32_t);
88+
89 if (l != 0x10) {
90 ptp_debug (params, "parsing EOS ImageFormat property failed (l != 0x10: 0x%x)", l);
91 return 0;
92 }
93+ if (*size < 3*sizeof(uint32_t)) {
94+ ptp_debug (params, "parsing EOS ImageFormat property failed 5 (size %d)", *size);
95+ return 0;
96+ }
97 t2 = dtoh32o (d, offset);
98 s2 = dtoh32o (d, offset);
99 c2 = dtoh32o (d, offset);
100@@ -1668,12 +1695,20 @@ ptp_unpack_EOS_FocusInfoEx (PTPParams* params, const unsigned char** data, uint3
101
102
103 static inline char*
104-ptp_unpack_EOS_CustomFuncEx (PTPParams* params, const unsigned char** data )
105+ptp_unpack_EOS_CustomFuncEx (PTPParams* params, const unsigned char** data, unsigned int *size )
106 {
107- uint32_t s = dtoh32a( *data );
108- uint32_t n = s/4, i;
109+ uint32_t s, n, i;
110 char *str, *p;
111
112+ if (*size < sizeof(uint32_t))
113+ return strdup("bad length");
114+
115+ s = dtoh32a( *data );
116+ n = s/4;
117+
118+ if (*size < 4+s)
119+ return strdup("bad length");
120+
121 if (s > 1024) {
122 ptp_debug (params, "customfuncex data is larger than 1k / %d... unexpected?", s);
123 return strdup("bad length");
124@@ -1962,7 +1997,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in
125 case PTP_DPC_CANON_EOS_ImageFormatExtHD:
126 /* special handling of ImageFormat properties */
127 for (j=0;j<dpd_count;j++) {
128- dpd->FORM.Enum.SupportedValue[j].u16 = ptp_unpack_EOS_ImageFormat( params, &xdata );
129+ dpd->FORM.Enum.SupportedValue[j].u16 = ptp_unpack_EOS_ImageFormat( params, &xdata, &xsize );
130 ptp_debug (params, INDENT "prop %x option[%2d] == 0x%04x", dpc, j, dpd->FORM.Enum.SupportedValue[j].u16);
131 }
132 break;
133@@ -2267,7 +2302,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in
134 case PTP_DPC_CANON_EOS_ImageFormatSD:
135 case PTP_DPC_CANON_EOS_ImageFormatExtHD:
136 dpd->DataType = PTP_DTC_UINT16;
137- dpd->DefaultValue.u16 = ptp_unpack_EOS_ImageFormat( params, &xdata );
138+ dpd->DefaultValue.u16 = ptp_unpack_EOS_ImageFormat( params, &xdata, &xsize );
139 dpd->CurrentValue.u16 = dpd->DefaultValue.u16;
140 ptp_debug (params, INDENT "prop %x value == 0x%04x (u16)", dpc, dpd->CurrentValue.u16);
141 break;
142@@ -2275,7 +2310,7 @@ ptp_unpack_EOS_events (PTPParams *params, const unsigned char* data, unsigned in
143 dpd->DataType = PTP_DTC_STR;
144 free (dpd->DefaultValue.str);
145 free (dpd->CurrentValue.str);
146- dpd->DefaultValue.str = ptp_unpack_EOS_CustomFuncEx( params, &xdata );
147+ dpd->DefaultValue.str = ptp_unpack_EOS_CustomFuncEx( params, &xdata, &xsize );
148 dpd->CurrentValue.str = strdup( (char*)dpd->DefaultValue.str );
149 ptp_debug (params, INDENT "prop %x value == %s", dpc, dpd->CurrentValue.str);
150 break;
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch
new file mode 100644
index 0000000000..883582dff0
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40334.patch
@@ -0,0 +1,37 @@
1From 20b33a26b2efdbf2c35c5cacc54a041855ec764b Mon Sep 17 00:00:00 2001
2From: Marcus Meissner <marcus@jet.franken.de>
3Date: Wed, 8 Apr 2026 15:15:54 +0200
4Subject: [PATCH] Fixed Canon FolderEntry Missing Null Termination
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9ptp_unpack_Canon_FE() copies filename with strncpy into a 13-byte
10buffer without explicit null termination. The EOS variant at line
111451–1452 correctly adds fe->Filename[PTP_CANON_FilenameBufferLen-1]
12= 0; confirming this was recognized as necessary but not applied to the
13original Canon path.
14
15 CVE-2026-40334
16
17Reported-By: Sebastián Alba <sebasjosue84@gmail.com>
18
19CVE: CVE-2026-40334
20Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/259fc7d3bfe534ce4b114c464f55b448670ab873]
21Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
22---
23 camlibs/ptp2/ptp-pack.c | 1 +
24 1 file changed, 1 insertion(+)
25
26diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c
27index 09dcc24..982b4f4 100644
28--- a/camlibs/ptp2/ptp-pack.c
29+++ b/camlibs/ptp2/ptp-pack.c
30@@ -1369,6 +1369,7 @@ ptp_unpack_Canon_FE (PTPParams *params, const unsigned char* data, PTPCANONFolde
31 fe->ObjectSize = dtoh32a(data + PTP_cfe_ObjectSize);
32 fe->Time = (time_t)dtoh32a(data + PTP_cfe_Time);
33 strncpy(fe->Filename, (char*)data + PTP_cfe_Filename, PTP_CANON_FilenameBufferLen);
34+ fe->Filename[PTP_CANON_FilenameBufferLen-1] = '\0';
35 }
36
37 /*
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch
new file mode 100644
index 0000000000..dfe832e6c8
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40335.patch
@@ -0,0 +1,43 @@
1From edcdf804662eb4340fdc371af4853d6579e969ab Mon Sep 17 00:00:00 2001
2From: Marcus Meissner <marcus@jet.franken.de>
3Date: Wed, 8 Apr 2026 15:07:38 +0200
4Subject: [PATCH] =?UTF-8?q?Fixed=20UINT128/INT128=20Unchecked=20Offset=20A?=
5 =?UTF-8?q?dvance=20(CWE-125)=20=E2=80=94=20MEDIUM?=
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10Finding 5: UINT128/INT128 Unchecked Offset Advance (CWE-125) — MEDIUM
11
12In ptp_unpack_DPV(), the PTP_DTC_UINT128 and PTP_DTC_INT128 cases advance *offset += 16 without verifying 16 bytes remain. The entry check at line 609 only guarantees *offset < total (at least 1 byte available). After the unchecked advance, *offset can exceed total, and the CTVAL macro's bounds check (total - *offset < sizeof(target)) wraps due to unsigned arithmetic.
13
14CVE-2026-40335
15
16Reported-By: Sebastián Alba <sebasjosue84@gmail.com>
17
18CVE: CVE-2026-40335
19Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/433bde9888d70aa726e32744cd751d7dbe94379a]
20Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
21---
22 camlibs/ptp2/ptp-pack.c | 4 ++++
23 1 file changed, 4 insertions(+)
24
25diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c
26index 982b4f4..7fc120d 100644
27--- a/camlibs/ptp2/ptp-pack.c
28+++ b/camlibs/ptp2/ptp-pack.c
29@@ -614,10 +614,14 @@ ptp_unpack_DPV (
30 case PTP_DTC_UINT64: CTVAL(value->u64,dtoh64a); break;
31
32 case PTP_DTC_UINT128:
33+ if (total - *offset < 16)
34+ return 0;
35 *offset += 16;
36 /*fprintf(stderr,"unhandled unpack of uint128n");*/
37 break;
38 case PTP_DTC_INT128:
39+ if (total - *offset < 16)
40+ return 0;
41 *offset += 16;
42 /*fprintf(stderr,"unhandled unpack of int128n");*/
43 break;
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch
new file mode 100644
index 0000000000..1a809b4f25
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40336.patch
@@ -0,0 +1,44 @@
1From e19c45d3530f1585805711e14aa4ea788e499f46 Mon Sep 17 00:00:00 2001
2From: Marcus Meissner <marcus@jet.franken.de>
3Date: Wed, 8 Apr 2026 15:13:51 +0200
4Subject: [PATCH] Fixed Sony DPD Secondary Enum List Memory Leak
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Finding 4: Sony DPD Secondary Enum List Memory Leak (CWE-401) — LOW
10
11File: ptp-pack.c:884-885
12
13When processing a secondary enumeration list (2024+ Sony cameras), line
14884–885 overwrites dpd->FORM.Enum.SupportedValue with a new calloc()
15without freeing the previous allocation from line 857. The original
16array and any string values it contains are leaked.
17
18CVE-2026-40336
19
20Reported-By: Sebastián Alba <sebasjosue84@gmail.com>
21
22CVE: CVE-2026-40336
23Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/404ff02c75f3cb280196fc260a63c4d26cf1a8f6]
24Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
25---
26 camlibs/ptp2/ptp-pack.c | 5 +++++
27 1 file changed, 5 insertions(+)
28
29diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c
30index 7fc120d..fc51d77 100644
31--- a/camlibs/ptp2/ptp-pack.c
32+++ b/camlibs/ptp2/ptp-pack.c
33@@ -879,6 +879,11 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp
34 /* check if we have a secondary list of items, this is for newer Sonys (2024) */
35 if (val < 0x200) { /* if a secondary list is not provided, this will be the next property code - 0x5XXX or 0xDxxx */
36 if (dpd->FormFlag == PTP_DPFF_Enumeration) {
37+ /* free old enum variables */
38+ for (i=0;i<dpd->FORM.Enum.NumberOfValues;i++)
39+ ptp_free_propvalue (dpd->DataType, dpd->FORM.Enum.SupportedValue+i);
40+ free (dpd->FORM.Enum.SupportedValue);
41+
42 N = dtoh16o(data, *poffset);
43 dpd->FORM.Enum.SupportedValue = calloc(N,sizeof(dpd->FORM.Enum.SupportedValue[0]));
44 if (!dpd->FORM.Enum.SupportedValue)
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch
new file mode 100644
index 0000000000..9f233f2ec9
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40338.patch
@@ -0,0 +1,34 @@
1From 43cc20e807cd2935869617a7d8b9488070712c0e Mon Sep 17 00:00:00 2001
2From: Marcus Meissner <marcus@jet.franken.de>
3Date: Sat, 11 Apr 2026 10:47:52 +0200
4Subject: [PATCH] =?UTF-8?q?Fixed=20Sony=20DPD=20Enum=20Count=20OOB=20Read?=
5 =?UTF-8?q?=20(CWE-125)=20=E2=80=94=20MEDIUM?=
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10In the PTP_DPFF_Enumeration case of ptp_unpack_Sony_DPD(), dtoh16o(data, *poffset) reads 2 bytes for enumeration count N without verifying 2 bytes remain. The standard parser at line 704 has this check.
11
12CVE-2026-40338
13
14Reported-By: Sebastián Alba <sebasjosue84@gmail.com>
15
16CVE: CVE-2026-40338
17Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/3b9f9696be76ae51dca983d9dd8ce586a2561845]
18Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
19---
20 camlibs/ptp2/ptp-pack.c | 1 +
21 1 file changed, 1 insertion(+)
22
23diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c
24index fc51d77..f90d2a5 100644
25--- a/camlibs/ptp2/ptp-pack.c
26+++ b/camlibs/ptp2/ptp-pack.c
27@@ -851,6 +851,7 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp
28 break;
29 case PTP_DPFF_Enumeration: {
30 #define N dpd->FORM.Enum.NumberOfValues
31+ if (*poffset + sizeof(uint16_t) > dpdlen) goto outofmemory;
32 N = dtoh16o(data, *poffset);
33 dpd->FORM.Enum.SupportedValue = calloc(N,sizeof(dpd->FORM.Enum.SupportedValue[0]));
34 if (!dpd->FORM.Enum.SupportedValue)
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch
new file mode 100644
index 0000000000..b00ac72772
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40339.patch
@@ -0,0 +1,41 @@
1From 585e8113b541469347d09c341c2e8b468b431adb Mon Sep 17 00:00:00 2001
2From: Marcus Meissner <marcus@jet.franken.de>
3Date: Sat, 11 Apr 2026 10:50:47 +0200
4Subject: [PATCH] =?UTF-8?q?Fixed=20Sony=20DPD=20FormFlag=20OOB=20Read=20(C?=
5 =?UTF-8?q?WE-125)=20=E2=80=94=20MEDIUM?=
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10ptp_unpack_Sony_DPD() reads the FormFlag byte via dtoh8o(data, *poffset)
11without a prior bounds check. The standard ptp_unpack_DPD() at line
12686–687 correctly validates *offset + sizeof(uint8_t) > dpdlen before
13this same read, but the Sony variant omits this check.
14
15CVE-2026-40339
16
17Reported-By: Sebastián Alba <sebasjosue84@gmail.com>
18
19CVE: CVE-2026-40339
20Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/09f8a940b1e418b5693f5c11e3016a1ad2cea62d]
21Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
22---
23 camlibs/ptp2/ptp-pack.c | 3 ++-
24 1 file changed, 2 insertions(+), 1 deletion(-)
25
26diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c
27index f90d2a5..28648a5 100644
28--- a/camlibs/ptp2/ptp-pack.c
29+++ b/camlibs/ptp2/ptp-pack.c
30@@ -833,9 +833,10 @@ ptp_unpack_Sony_DPD (PTPParams *params, const unsigned char* data, PTPDeviceProp
31 code or the Data Type is a string (with two empty strings as
32 values). In both cases Form Flag should be set to 0x00 and FORM is
33 not present. */
34-
35 if (*poffset==PTP_dpd_Sony_DefaultValue)
36 return 1;
37+ if (*poffset + sizeof(uint8_t) > dpdlen)
38+ return 1;
39
40 dpd->FormFlag = dtoh8o(data, *poffset);
41 ptp_debug (params, "formflag 0x%04x", dpd->FormFlag);
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch
new file mode 100644
index 0000000000..a0852692b0
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40340.patch
@@ -0,0 +1,40 @@
1From fd9f234df894caec6c65144b5a4f0264aadf0989 Mon Sep 17 00:00:00 2001
2From: Marcus Meissner <marcus@jet.franken.de>
3Date: Wed, 8 Apr 2026 16:01:48 +0200
4Subject: [PATCH] Fixed ObjectInfo Parser OOB Read
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9ptp_unpack_OI() validates len < PTP_oi_SequenceNumber (i.e., len < 48) but then accesses:
10
11 Offsets 48–51: dtoh32a(data + PTP_oi_SequenceNumber) at line 563 (4 bytes OOB)
12 Offset 52: data[PTP_oi_filenamelen] at line 547 (5 bytes OOB)
13 Offset 56: data[PTP_oi_filenamelen+4] at line 547 (9 bytes OOB)
14
15The Samsung Galaxy 64-bit objectsize detection heuristic reads up to 9 bytes beyond the validated boundary.
16
17 CVE-2026-40340
18
19Reported-By: Sebastián Alba <sebasjosue84@gmail.com>
20
21CVE: CVE-2026-40340
22Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/7c7f515bc88c3d0c4098ac965d313518e0ccbe33]
23Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
24---
25 camlibs/ptp2/ptp-pack.c | 2 +-
26 1 file changed, 1 insertion(+), 1 deletion(-)
27
28diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c
29index 28648a5..9eba06f 100644
30--- a/camlibs/ptp2/ptp-pack.c
31+++ b/camlibs/ptp2/ptp-pack.c
32@@ -526,7 +526,7 @@ ptp_unpack_OI (PTPParams *params, const unsigned char* data, PTPObjectInfo *oi,
33 {
34 char *capture_date;
35
36- if (!data || len < PTP_oi_SequenceNumber)
37+ if (!data || len < PTP_oi_filenamelen + 5)
38 return;
39
40 oi->Filename = oi->Keywords = NULL;
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch
new file mode 100644
index 0000000000..b71792c185
--- /dev/null
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2/CVE-2026-40341.patch
@@ -0,0 +1,69 @@
1From 3674dbeafa5157a264ca5e562ffdbef159a2185f Mon Sep 17 00:00:00 2001
2From: Marcus Meissner <marcus@jet.franken.de>
3Date: Wed, 8 Apr 2026 15:28:52 +0200
4Subject: [PATCH] Fixed OOB read in ptp_unpack_EOS_FocusInfoEx
5
6Do not read out values before checking there is sufficient size
7
8CVE-2026-40341
9
10CVE: CVE-2026-40341
11Upstream-Status: Backport [https://github.com/gphoto/libgphoto2/commit/c385b34af260595dfbb5f9329526be5158985987]
12Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
13---
14 camlibs/ptp2/ptp-pack.c | 34 +++++++++++++++++++++++++---------
15 1 file changed, 25 insertions(+), 9 deletions(-)
16
17diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c
18index 9eba06f..11428ab 100644
19--- a/camlibs/ptp2/ptp-pack.c
20+++ b/camlibs/ptp2/ptp-pack.c
21@@ -1629,23 +1629,39 @@ ptp_pack_EOS_ImageFormat (PTPParams* params, unsigned char* data, uint16_t value
22 static inline char*
23 ptp_unpack_EOS_FocusInfoEx (PTPParams* params, const unsigned char** data, uint32_t datasize)
24 {
25- uint32_t size = dtoh32a( *data );
26- uint32_t halfsize = dtoh16a( (*data) + 4);
27- uint32_t version = dtoh16a( (*data) + 6);
28- uint32_t focus_points_in_struct = dtoh16a( (*data) + 8);
29- uint32_t focus_points_in_use = dtoh16a( (*data) + 10);
30- uint32_t sizeX = dtoh16a( (*data) + 12);
31- uint32_t sizeY = dtoh16a( (*data) + 14);
32- uint32_t size2X = dtoh16a( (*data) + 16);
33- uint32_t size2Y = dtoh16a( (*data) + 18);
34+ uint32_t size;
35+ uint32_t halfsize;
36+ uint32_t version;
37+ uint32_t focus_points_in_struct;
38+ uint32_t focus_points_in_use;
39+ uint32_t sizeX;
40+ uint32_t sizeY;
41+ uint32_t size2X;
42+ uint32_t size2Y;
43 uint32_t i;
44 uint32_t maxlen;
45 char *str, *p;
46
47+ if (datasize<4) {
48+ ptp_error(params, "FocusInfoEx has invalid size (%d)", datasize);
49+ return strdup("bad size 0");
50+ }
51+
52+ size = dtoh32a( *data );
53 if ((size > datasize) || (size < 20)) {
54 ptp_error(params, "FocusInfoEx has invalid size (%d) vs datasize (%d)", size, datasize);
55 return strdup("bad size 1");
56 }
57+
58+ halfsize = dtoh16a( (*data) + 4);
59+ version = dtoh16a( (*data) + 6);
60+ focus_points_in_struct = dtoh16a( (*data) + 8);
61+ focus_points_in_use = dtoh16a( (*data) + 10);
62+ sizeX = dtoh16a( (*data) + 12);
63+ sizeY = dtoh16a( (*data) + 14);
64+ size2X = dtoh16a( (*data) + 16);
65+ size2Y = dtoh16a( (*data) + 18);
66+
67 /* If data is zero-filled, then it is just a placeholder, so nothing
68 useful, but also not an error */
69 if (!focus_points_in_struct || !focus_points_in_use) {
diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb
index 6b5e6c21b9..04c4786f84 100644
--- a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb
+++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.5.33.bb
@@ -12,7 +12,16 @@ DEPENDS = "libtool jpeg virtual/libusb0 libexif zlib libxml2"
12SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.xz;name=libgphoto2 \ 12SRC_URI = "${SOURCEFORGE_MIRROR}/gphoto/${BP}.tar.xz;name=libgphoto2 \
13 file://40-libgphoto2.rules \ 13 file://40-libgphoto2.rules \
14 file://0001-configure-Filter-out-buildpaths-from-CC.patch \ 14 file://0001-configure-Filter-out-buildpaths-from-CC.patch \
15" 15 file://0001-libgphoto2-fix-const-correctness-for-c23-builds.patch \
16 file://CVE-2026-40333.patch \
17 file://CVE-2026-40334.patch \
18 file://CVE-2026-40335.patch \
19 file://CVE-2026-40336.patch \
20 file://CVE-2026-40338.patch \
21 file://CVE-2026-40339.patch \
22 file://CVE-2026-40340.patch \
23 file://CVE-2026-40341.patch \
24 "
16SRC_URI[libgphoto2.sha256sum] = "28825f767a85544cb58f6e15028f8e53a5bb37a62148b3f1708b524781c3bef2" 25SRC_URI[libgphoto2.sha256sum] = "28825f767a85544cb58f6e15028f8e53a5bb37a62148b3f1708b524781c3bef2"
17 26
18UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gphoto/files/libgphoto/" 27UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/gphoto/files/libgphoto/"
diff --git a/meta-oe/recipes-graphics/graphviz/graphviz_14.1.3.bb b/meta-oe/recipes-graphics/graphviz/graphviz_14.1.5.bb
index d885dc43ac..388de9b452 100644
--- a/meta-oe/recipes-graphics/graphviz/graphviz_14.1.3.bb
+++ b/meta-oe/recipes-graphics/graphviz/graphviz_14.1.5.bb
@@ -1,7 +1,7 @@
1SUMMARY = "Graph Visualization Tools" 1SUMMARY = "Graph Visualization Tools"
2HOMEPAGE = "http://www.graphviz.org" 2HOMEPAGE = "http://www.graphviz.org"
3LICENSE = "EPL-1.0" 3LICENSE = "EPL-2.0"
4LIC_FILES_CHKSUM = "file://COPYING;md5=9109f5fc16cf963fb3cdd32781b3ce04" 4LIC_FILES_CHKSUM = "file://COPYING;md5=d9fc0efef5228704e7f5b37f27192723"
5 5
6DEPENDS = " \ 6DEPENDS = " \
7 bison-native \ 7 bison-native \
@@ -23,7 +23,7 @@ SRC_URI = "https://gitlab.com/api/v4/projects/4207231/packages/generic/${BPN}-re
23SRC_URI:append:class-nativesdk = "\ 23SRC_URI:append:class-nativesdk = "\
24 file://graphviz-setup.sh \ 24 file://graphviz-setup.sh \
25" 25"
26SRC_URI[sha256sum] = "fe76529477c22c0cf833ec5a35b430cf710f4705afc465d86292bf13560be584" 26SRC_URI[sha256sum] = "b017378835f7ca12f1a3f1db5c338d7e7af16b284b7007ad73ccec960c1b45b3"
27 27
28UPSTREAM_CHECK_URI = "https://graphviz.org/download/" 28UPSTREAM_CHECK_URI = "https://graphviz.org/download/"
29UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)" 29UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)"
@@ -68,7 +68,7 @@ do_install:append:class-nativesdk() {
68 install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d 68 install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
69 install -m 0755 ${UNPACKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d 69 install -m 0755 ${UNPACKDIR}/graphviz-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d
70} 70}
71FILES:${PN}:class-nativesdk += "${SDKPATHNATIVE}" 71FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}"
72 72
73# create /usr/lib/graphviz/config6 73# create /usr/lib/graphviz/config6
74graphviz_sstate_postinst() { 74graphviz_sstate_postinst() {
diff --git a/meta-oe/recipes-graphics/kmscon/kmscon_9.3.2.bb b/meta-oe/recipes-graphics/kmscon/kmscon_9.3.3.bb
index 2db5162857..46550bb6d1 100644
--- a/meta-oe/recipes-graphics/kmscon/kmscon_9.3.2.bb
+++ b/meta-oe/recipes-graphics/kmscon/kmscon_9.3.3.bb
@@ -17,15 +17,17 @@ DEPENDS = "\
17 libtsm \ 17 libtsm \
18 libxkbcommon \ 18 libxkbcommon \
19 udev \ 19 udev \
20 zlib \
20" 21"
21 22
22SRC_URI = "git://github.com/kmscon/kmscon;protocol=https;branch=main;tag=v${PV}" 23SRC_URI = "git://github.com/kmscon/kmscon;protocol=https;branch=main;tag=v${PV}"
23SRCREV = "9ce1dc0dc639e54e243a21d93e13f502a746f0a8" 24SRCREV = "03e50c7db0489daaa41b5f62946fd6aaeab63a6e"
24 25
25inherit meson pkgconfig systemd 26inherit meson pkgconfig systemd
26 27
27PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}" 28PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'opengl', d)}"
28 29
30PACKAGECONFIG[font_freetype] = "-Dfont_freetype=enabled, -Dfont_freetype=disabled, fontconfig freetype"
29PACKAGECONFIG[font_pango] = "-Dfont_pango=enabled, -Dfont_pango=disabled, pango" 31PACKAGECONFIG[font_pango] = "-Dfont_pango=enabled, -Dfont_pango=disabled, pango"
30PACKAGECONFIG[multi_seat] = "-Dmulti_seat=enabled, -Dmulti_seat=disabled, systemd" 32PACKAGECONFIG[multi_seat] = "-Dmulti_seat=enabled, -Dmulti_seat=disabled, systemd"
31PACKAGECONFIG[opengl] = "-Drenderer_gltex=enabled -Dvideo_drm3d=enabled, -Drenderer_gltex=disabled -Dvideo_drm3d=disabled, libdrm virtual/egl virtual/libgles2 virtual/libgbm" 33PACKAGECONFIG[opengl] = "-Drenderer_gltex=enabled -Dvideo_drm3d=enabled, -Drenderer_gltex=disabled -Dvideo_drm3d=disabled, libdrm virtual/egl virtual/libgles2 virtual/libgbm"
diff --git a/meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb b/meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb
new file mode 100644
index 0000000000..8eaaee4492
--- /dev/null
+++ b/meta-oe/recipes-graphics/libraqm/libraqm_0.10.5.bb
@@ -0,0 +1,25 @@
1SUMMARY = "A library for complex text layout"
2DESCRIPTION = "\
3 Raqm is a small library that encapsulates the logic for complex text \
4 layout and provides a convenient API. It currently provides bidirectional \
5 text support (using FriBiDi or SheenBidi), shaping (using HarfBuzz), and \
6 proper script itemization. As a result, Raqm can support most writing \
7 systems covered by Unicode. \
8"
9HOMEPAGE = "https://github.com/HOST-Oman/libraqm"
10BUGTRACKER = "https://github.com/HOST-Oman/libraqm/issues"
11SECTION = "graphics"
12
13LICENSE = "MIT"
14LIC_FILES_CHKSUM = "file://COPYING;md5=7dc444a99e2824eac906383266fe4fa6"
15
16SRC_URI = "git://github.com/HOST-Oman/libraqm.git;protocol=https;branch=main;tag=v${PV}"
17SRCREV = "3a6b891a3db0e0db1364aa38088422f68d8d81e6"
18
19DEPENDS = "freetype fribidi harfbuzz"
20
21inherit meson pkgconfig
22
23PACKAGECONFIG ?= ""
24
25PACKAGECONFIG[sheenbidi] = "-Dsheenbidi=true,-Dsheenbidi=false,sheenbidi"
diff --git a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.8.bb b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.10.bb
index c15e986dc3..27ddc35381 100644
--- a/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.8.bb
+++ b/meta-oe/recipes-graphics/libsdl/libsdl2-image_2.8.10.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=fbb0010b2f7cf6e8a13bcac1ef4d2455"
7DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp" 7DEPENDS = "tiff zlib libpng jpeg virtual/libsdl2 libwebp"
8 8
9SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz" 9SRC_URI = "http://www.libsdl.org/projects/SDL_image/release/SDL2_image-${PV}.tar.gz"
10SRC_URI[sha256sum] = "2213b56fdaff2220d0e38c8e420cbe1a83c87374190cba8c70af2156097ce30a" 10SRC_URI[sha256sum] = "ebc059d01c007a62f4b04f10cf858527c875062532296943174df9a80264fd65"
11 11
12S = "${UNPACKDIR}/SDL2_image-${PV}" 12S = "${UNPACKDIR}/SDL2_image-${PV}"
13 13
diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.0.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.2.bb
index 324332eb84..0f7ce92efd 100644
--- a/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.0.bb
+++ b/meta-oe/recipes-graphics/libsdl3/libsdl3-image_3.4.2.bb
@@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=df8f4d887d3997f6e9cf81bb7f43dbf7"
6 6
7DEPENDS = "tiff zlib libpng jpeg libsdl3 libwebp libjxl" 7DEPENDS = "tiff zlib libpng jpeg libsdl3 libwebp libjxl"
8 8
9SRC_URI = "git://github.com/libsdl-org/SDL_image.git;protocol=https;branch=release-3.4.x" 9SRC_URI = "git://github.com/libsdl-org/SDL_image.git;protocol=https;branch=release-3.4.x;tag=release-${PV}"
10SRCREV = "ad58ecfc27a1bd09e510ceff8bbbdb1094806476" 10SRCREV = "96a73a551a857b7c8d0ca3cc553a266eabbab6a7"
11 11
12EXTRA_OECMAKE += "-DSDLIMAGE_JXL=ON" 12EXTRA_OECMAKE += "-DSDLIMAGE_JXL=ON"
13 13
diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3-mixer_3.2.0.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3-mixer_3.2.0.bb
new file mode 100644
index 0000000000..27a02fcc32
--- /dev/null
+++ b/meta-oe/recipes-graphics/libsdl3/libsdl3-mixer_3.2.0.bb
@@ -0,0 +1,28 @@
1SUMMARY = "Provides decoding of many popular audio file formats, mixing, various DSP processing effects and positional audio"
2LICENSE = "Zlib"
3LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=df8f4d887d3997f6e9cf81bb7f43dbf7"
4
5DEPENDS = "libsdl3"
6
7SRC_URI = "git://github.com/libsdl-org/SDL_mixer.git;protocol=https;branch=release-3.2.x;tag=release-${PV}"
8SRCREV = "cedfeef30e93db35eee6b25759117da63f8e5a4f"
9
10inherit cmake pkgconfig
11
12PACKAGECONFIG ?= "flac wave vorbis"
13PACKAGECONFIG[opus] = "-DSDLMIXER_OPUS=ON -DSDLMIXER_OPUS_SHARED=ON, -DSDLMIXER_OPUS=OFF,opusfile"
14PACKAGECONFIG[vorbis] = "-DSDLMIXER_VORBIS_VORBISFILE=ON -DSDLMIXER_VORBIS_STB=OFF -DSDLMIXER_VORBIS_TREMOR=OFF, -DSDLMIXER_VORBIS_VORBISFILE=OFF -DSDLMIXER_VORBIS_STB=OFF -DSDLMIXER_VORBIS_TREMOR=OFF,libvorbis"
15PACKAGECONFIG[flac] = "-DSDLMIXER_FLAC_LIBFLAC=ON -DSDLMIXER_FLAC_LIBFLAC_SHARED=ON, -DSDLMIXER_FLAC_LIBFLAC=OFF,flac"
16PACKAGECONFIG[xmp] = "-DSDLMIXER_MOD=ON -DSDLMIXER_MOD_XMP=ON -DSDLMIXER_MOD_XMP_SHARED=ON, -DSDLMIXER_MOD=OFF,libxmp,libxmp"
17PACKAGECONFIG[fluidsynth] = "-DSDLMIXER_MIDI=ON -DSDLMIXER_MIDI_FLUIDSYNTH_ENABLED=ON -DSDLMIXER_MIDI_FLUIDSYNTH_SHARED=ON, -DSDLMIXER_MIDI=OFF,fluidsynth,fluidsynth-bin"
18PACKAGECONFIG[wave] = "-DSDLMIXER_WAVE=ON -DSDLMIXER_WAVPACK=ON -DSDLMIXER_WAVPACK_SHARED=ON, -DSDLMIXER_WAVE=OFF,wavpack,wavpack wavpack-bin"
19PACKAGECONFIG[mpg123] = "-DSDLMIXER_MP3 -DSDLMIXER_MP3_MPG123_SHARED=ON -DSDLMIXER_MP3_MPG123=ON, -DSDLMIXER_MP3=OFF,mpg123"
20
21do_configure:prepend() {
22 touch ${STAGING_BINDIR}/wavpack
23 touch ${STAGING_BINDIR}/wvunpack
24 touch ${STAGING_BINDIR}/wvgain
25 touch ${STAGING_BINDIR}/wvtag
26}
27
28FILES:${PN} += "${datadir}/licenses"
diff --git a/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.2.bb b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.4.bb
index d6501f855c..0159021280 100644
--- a/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.2.bb
+++ b/meta-oe/recipes-graphics/libsdl3/libsdl3_3.4.4.bb
@@ -18,7 +18,7 @@ SRC_URI = "http://www.libsdl.org/release/SDL3-${PV}.tar.gz"
18 18
19S = "${UNPACKDIR}/SDL3-${PV}" 19S = "${UNPACKDIR}/SDL3-${PV}"
20 20
21SRC_URI[sha256sum] = "ef39a2e3f9a8a78296c40da701967dd1b0d0d6e267e483863ce70f8a03b4050c" 21SRC_URI[sha256sum] = "ee712dbe6a89bb140bbfc2ce72358fb5ee5cc2240abeabd54855012db30b3864"
22 22
23inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even 23inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even
24 24
diff --git a/meta-oe/recipes-graphics/libtsm/libtsm_4.4.2.bb b/meta-oe/recipes-graphics/libtsm/libtsm_4.4.3.bb
index 6f060cd0f5..8168360dec 100644
--- a/meta-oe/recipes-graphics/libtsm/libtsm_4.4.2.bb
+++ b/meta-oe/recipes-graphics/libtsm/libtsm_4.4.3.bb
@@ -22,7 +22,7 @@ LIC_FILES_CHKSUM = "\
22DEPENDS = "xkeyboard-config" 22DEPENDS = "xkeyboard-config"
23 23
24SRC_URI = "git://github.com/kmscon/libtsm;protocol=https;branch=main;tag=v${PV}" 24SRC_URI = "git://github.com/kmscon/libtsm;protocol=https;branch=main;tag=v${PV}"
25SRCREV = "b052e48cc776be1cdb940be2dcc1603457c01c96" 25SRCREV = "6cdacfc452bf29d98e297fe3a96e55e94a88ce3e"
26 26
27inherit meson pkgconfig 27inherit meson pkgconfig
28 28
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch b/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch
new file mode 100644
index 0000000000..49be9bd0a6
--- /dev/null
+++ b/meta-oe/recipes-graphics/openjpeg/openjpeg/CVE-2026-6192.patch
@@ -0,0 +1,35 @@
1From 776b00ff792a3c54b65f3bd92dbe7476a5a54106 Mon Sep 17 00:00:00 2001
2From: Even Rouault <even.rouault@spatialys.com>
3Date: Sun, 5 Apr 2026 13:25:27 +0200
4Subject: [PATCH] opj_pi_initialise_encode() (write code path): avoid potential
5 integer overflow leading to insufficient memory allocation
6
7Fixes #1619
8
9CVE: CVE-2026-6192
10Upstream-Status: Backport [https://github.com/uclouvain/openjpeg/commit/839936aa33eb8899bbbd80fda02796bb65068951]
11Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
12---
13 src/lib/openjp2/pi.c | 9 ++++++---
14 1 file changed, 6 insertions(+), 3 deletions(-)
15
16diff --git a/src/lib/openjp2/pi.c b/src/lib/openjp2/pi.c
17index 15ac3314..4abb87af 100644
18--- a/src/lib/openjp2/pi.c
19+++ b/src/lib/openjp2/pi.c
20@@ -1694,9 +1694,12 @@ opj_pi_iterator_t *opj_pi_initialise_encode(const opj_image_t *p_image,
21 l_current_pi = l_pi;
22
23 /* memory allocation for include*/
24- l_current_pi->include_size = l_tcp->numlayers * l_step_l;
25- l_current_pi->include = (OPJ_INT16*) opj_calloc(l_current_pi->include_size,
26- sizeof(OPJ_INT16));
27+ l_current_pi->include = NULL;
28+ if (l_step_l <= UINT_MAX / l_tcp->numlayers) {
29+ l_current_pi->include_size = l_tcp->numlayers * l_step_l;
30+ l_current_pi->include = (OPJ_INT16*) opj_calloc(l_current_pi->include_size,
31+ sizeof(OPJ_INT16));
32+ }
33 if (!l_current_pi->include) {
34 opj_free(l_tmp_data);
35 opj_free(l_tmp_ptr);
diff --git a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb
index 33dc48b2ea..968b7a0a5c 100644
--- a/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb
+++ b/meta-oe/recipes-graphics/openjpeg/openjpeg_2.5.4.bb
@@ -8,6 +8,7 @@ DEPENDS = "libpng tiff lcms zlib"
8SRC_URI = "git://github.com/uclouvain/openjpeg.git;branch=master;protocol=https \ 8SRC_URI = "git://github.com/uclouvain/openjpeg.git;branch=master;protocol=https \
9 file://0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \ 9 file://0001-Do-not-ask-cmake-to-export-binaries-they-don-t-make-.patch \
10 file://CVE-2023-39327.patch \ 10 file://CVE-2023-39327.patch \
11 file://CVE-2026-6192.patch \
11 " 12 "
12SRCREV = "6c4a29b00211eb0430fa0e5e890f1ce5c80f409f" 13SRCREV = "6c4a29b00211eb0430fa0e5e890f1ce5c80f409f"
13 14
diff --git a/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch b/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch
deleted file mode 100644
index d273d1459f..0000000000
--- a/meta-oe/recipes-graphics/surf/surf/0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1From 0cd38e6dbcaff7eef39fd46a60ff8a47e5f488c4 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Sun, 3 Oct 2021 23:08:48 +0200
4Subject: [PATCH] config.ml: make compatible with webkitgtk 2.34.0
5
6Signed-off-by: Alexander Kanavin <alex@linutronix.de>
7---
8Upstream-Status: Pending
9
10 config.mk | 8 ++++----
11 1 file changed, 4 insertions(+), 4 deletions(-)
12
13--- a/config.mk
14+++ b/config.mk
15@@ -2,6 +2,7 @@
16 VERSION = 2.1
17
18 # Customize below to fit your system
19+PKG_CONFIG ?= pkg-config
20
21 # paths
22 PREFIX = /usr/local
23@@ -9,13 +10,13 @@ MANPREFIX = $(PREFIX)/share/man
24 LIBPREFIX = $(PREFIX)/lib
25 LIBDIR = $(LIBPREFIX)/surf
26
27-X11INC = `pkg-config --cflags x11`
28-X11LIB = `pkg-config --libs x11`
29+X11INC = $(shell $(PKG_CONFIG) --cflags x11)
30+X11LIB = $(shell $(PKG_CONFIG) --libs x11)
31
32-GTKINC = `pkg-config --cflags gtk+-3.0 gcr-3 webkit2gtk-4.0`
33-GTKLIB = `pkg-config --libs gtk+-3.0 gcr-3 webkit2gtk-4.0`
34-WEBEXTINC = `pkg-config --cflags webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0`
35-WEBEXTLIBS = `pkg-config --libs webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0`
36+GTKINC = $(shell $(PKG_CONFIG) --cflags gtk+-3.0 gcr-3 webkit2gtk-4.1)
37+GTKLIB = $(shell $(PKG_CONFIG) --libs gtk+-3.0 gcr-3 webkit2gtk-4.1)
38+WEBEXTINC = $(shell $(PKG_CONFIG) --cflags webkit2gtk-4.1 webkit2gtk-web-extension-4.1 gio-2.0)
39+WEBEXTLIBS = $(shell $(PKG_CONFIG) --libs webkit2gtk-4.1 webkit2gtk-web-extension-4.1 gio-2.0)
40
41 # includes and libs
42 INCS = $(X11INC) $(GTKINC)
diff --git a/meta-oe/recipes-graphics/surf/surf_2.1.bb b/meta-oe/recipes-graphics/surf/surf_2.1.bb
index 258c78e509..6da7a0d93e 100644
--- a/meta-oe/recipes-graphics/surf/surf_2.1.bb
+++ b/meta-oe/recipes-graphics/surf/surf_2.1.bb
@@ -9,20 +9,12 @@ DEPENDS = "webkitgtk3 gtk+3 glib-2.0 gcr3"
9 9
10REQUIRED_DISTRO_FEATURES = "x11 opengl" 10REQUIRED_DISTRO_FEATURES = "x11 opengl"
11 11
12SRCREV = "665a709b522a6fa18c671f1fc41297603292d0e8" 12SRCREV = "48517e586cdc98bc1af7115674b554cc70c8bc2e"
13SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \ 13SRC_URI = "git://git.suckless.org/surf;branch=surf-webkit2 \
14 file://0001-config.mk-Fix-compiler-and-linker.patch \
14 " 15 "
15SRC_URI += "${@bb.utils.contains('PACKAGECONFIG', 'soup3', 'file://0001-config.mk-Fix-compiler-and-linker.patch file://0001-config.ml-make-compatible-with-webkitgtk-2.34.0.patch', '', d)}"
16
17
18inherit pkgconfig features_check 16inherit pkgconfig features_check
19 17
20PACKAGECONFIG_SOUP ?= "soup3"
21PACKAGECONFIG ??= "${PACKAGECONFIG_SOUP}"
22
23PACKAGECONFIG[soup2] = ",,,"
24PACKAGECONFIG[soup3] = ",,,"
25
26TARGET_CC_ARCH += "${LDFLAGS}" 18TARGET_CC_ARCH += "${LDFLAGS}"
27 19
28do_install () { 20do_install () {
diff --git a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.0.bb b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb
index 6e8e80f283..c9b0cd2404 100644
--- a/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.0.bb
+++ b/meta-oe/recipes-graphics/tigervnc/tigervnc_1.16.2.bb
@@ -16,9 +16,9 @@ REQUIRED_DISTRO_FEATURES = "x11 pam"
16# out-of-tree builds. 16# out-of-tree builds.
17B = "${S}" 17B = "${S}"
18 18
19SRCREV = "dc50022844dfad0a0e195d54b8499fcf242fff0c" 19SRCREV = "b555312d70d7ff017f866649a7e7167af4eb8fca"
20 20
21SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.16-branch;protocol=https \ 21SRC_URI = "git://github.com/TigerVNC/tigervnc.git;branch=1.16-branch;protocol=https;tag=v${PV} \
22 file://0001-do-not-build-tests-sub-directory.patch \ 22 file://0001-do-not-build-tests-sub-directory.patch \
23 file://0002-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \ 23 file://0002-add-missing-dynamic-library-to-FLTK_LIBRARIES.patch \
24 file://0003-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \ 24 file://0003-tigervnc-add-fPIC-option-to-COMPILE_FLAGS.patch \
diff --git a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.5.bb
index 9c522d6ae1..3b0fdf6077 100644
--- a/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.4.bb
+++ b/meta-oe/recipes-graphics/xorg-app/setxkbmap_1.3.5.bb
@@ -16,4 +16,4 @@ DEPENDS += "libxkbfile xrandr"
16BBCLASSEXTEND = "native" 16BBCLASSEXTEND = "native"
17 17
18SRC_URI_EXT = "xz" 18SRC_URI_EXT = "xz"
19SRC_URI[sha256sum] = "be8d8554d40e981d1b93b5ff82497c9ad2259f59f675b38f1b5e84624c07fade" 19SRC_URI[sha256sum] = "360193cecc93f906d8383a8fb5c1f3a7eed35e6ced0e118a64ee56ae13c88cac"
diff --git a/meta-oe/recipes-graphics/xorg-app/xterm_407.bb b/meta-oe/recipes-graphics/xorg-app/xterm_408.bb
index 4aecd77f98..0f76bc1209 100644
--- a/meta-oe/recipes-graphics/xorg-app/xterm_407.bb
+++ b/meta-oe/recipes-graphics/xorg-app/xterm_408.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://xterm.h;beginline=3;endline=31;md5=413ff95100710d7a81
7SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \ 7SRC_URI = "http://invisible-mirror.net/archives/${BPN}/${BP}.tgz \
8 file://0001-include-missing-pty.h-header-for-openpty.patch \ 8 file://0001-include-missing-pty.h-header-for-openpty.patch \
9 " 9 "
10SRC_URI[sha256sum] = "2136eba530068a1b7565abbf17823274f5cefb7fe3618355cbc89dc55c8b7b6a" 10SRC_URI[sha256sum] = "27dc9e770885f98fbd0b5b40bcda959dc11ec9ba21f0a33b12aafffcc7f9b813"
11 11
12PACKAGECONFIG ?= "" 12PACKAGECONFIG ?= ""
13PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native" 13PACKAGECONFIG[xft] = "--enable-freetype,--disable-freetype,libxft fontconfig freetype-native"
diff --git a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb
index 8710ec80dc..073b3f0912 100644
--- a/meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb
+++ b/meta-oe/recipes-graphics/xscreensaver/xscreensaver_6.04.bb
@@ -19,6 +19,7 @@ DEPENDS = "intltool-native libx11 libxext libxt libxft libxi glib-2.0-native bc-
19# These are only needed as part of the stopgap screensaver implementation: 19# These are only needed as part of the stopgap screensaver implementation:
20RDEPENDS:${PN} = " \ 20RDEPENDS:${PN} = " \
21 liberation-fonts \ 21 liberation-fonts \
22 xuser-account \
22" 23"
23 24
24inherit systemd perlnative pkgconfig gettext autotools-brokensep features_check 25inherit systemd perlnative pkgconfig gettext autotools-brokensep features_check