* [Buildroot] [PATCH/next 1/1] package/jasper: bump version to 4.2.8
@ 2025-12-02 17:59 Bernd Kuhls
2025-12-16 9:48 ` Thomas Petazzoni via buildroot
2026-02-03 17:29 ` Thomas Petazzoni via buildroot
0 siblings, 2 replies; 3+ messages in thread
From: Bernd Kuhls @ 2025-12-02 17:59 UTC (permalink / raw)
To: buildroot; +Cc: Michael Vetter
Removed patches which are included in this release.
License file was renamed upstream:
https://github.com/jasper-software/jasper/commit/688601c736165d424b95413ea40d5571a5ccfe02
Added configure option to force builddir:
https://github.com/jasper-software/jasper/blob/version-4.2.8/build/cmake/modules/InSourceBuild.cmake
Added configure option for JAS_STDC_VERSION:
https://github.com/jasper-software/jasper/commit/b8ecbfbf293ee6086e4d40108ad730229388cd8d
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/jasper/0001-Fixes-367.patch | 46 --------
package/jasper/0002-Fixes-400.patch | 169 ----------------------------
package/jasper/jasper.hash | 4 +-
package/jasper/jasper.mk | 17 ++-
4 files changed, 13 insertions(+), 223 deletions(-)
delete mode 100644 package/jasper/0001-Fixes-367.patch
delete mode 100644 package/jasper/0002-Fixes-400.patch
diff --git a/package/jasper/0001-Fixes-367.patch b/package/jasper/0001-Fixes-367.patch
deleted file mode 100644
index 11dfb5672f..0000000000
--- a/package/jasper/0001-Fixes-367.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From aeef5293c978158255ad4f127089644745602f2a Mon Sep 17 00:00:00 2001
-From: Michael Adams <mdadams@ece.uvic.ca>
-Date: Thu, 14 Dec 2023 19:04:19 -0800
-Subject: [PATCH] Fixes #367.
-
-Fixed an integer-overflow bug in the ICC profile parsing code.
-Added another invalid image to the test set.
-
-CVE: CVE-2023-51257
-Upstream: https://github.com/jasper-software/jasper/commit/aeef5293c978158255ad4f127089644745602f2a
-Signed-off-by: Thomas Perale <thomas.perale@mind.be>
----
- src/libjasper/base/jas_icc.c | 16 ++++++++++++++--
- 1 file changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/src/libjasper/base/jas_icc.c b/src/libjasper/base/jas_icc.c
-index 905b823..2d1e91e 100644
---- a/src/libjasper/base/jas_icc.c
-+++ b/src/libjasper/base/jas_icc.c
-@@ -1295,10 +1295,22 @@ static int jas_icctxt_input(jas_iccattrval_t *attrval, jas_stream_t *in,
- {
- jas_icctxt_t *txt = &attrval->data.txt;
- txt->string = 0;
-- if (!(txt->string = jas_malloc(cnt)))
-+ /* The string must at least contain a single null character. */
-+ if (cnt < 1) {
- goto error;
-- if (jas_stream_read(in, txt->string, cnt) != cnt)
-+ }
-+ if (!(txt->string = jas_malloc(cnt))) {
-+ goto error;
-+ }
-+ if (jas_stream_read(in, txt->string, cnt) != cnt) {
- goto error;
-+ }
-+ /* Ensure that the string is null terminated. */
-+ if (txt->string[cnt - 1] != '\0') {
-+ goto error;
-+ }
-+ /* The following line is redundant, unless we do not enforce that
-+ the last character must be null. */
- txt->string[cnt - 1] = '\0';
- if (strlen(txt->string) + 1 != cnt)
- goto error;
---
-2.39.5
diff --git a/package/jasper/0002-Fixes-400.patch b/package/jasper/0002-Fixes-400.patch
deleted file mode 100644
index b663f1e72e..0000000000
--- a/package/jasper/0002-Fixes-400.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From bb7d62bd0a2a8e0e1fdb4d603f3305f955158c52 Mon Sep 17 00:00:00 2001
-From: Michael Adams <mdadams@ece.uvic.ca>
-Date: Tue, 29 Jul 2025 20:16:35 -0700
-Subject: [PATCH] Fixes #400.
-
-Added a check for a missing color component in the jas_image_chclrspc
-function.
-
-CVE: CVE-2025-8835
-Upstream: https://github.com/jasper-software/jasper/commit/bb7d62bd0a2a8e0e1fdb4d603f3305f955158c52
-[thomas: backport to v2.0.33]
-Signed-off-by: Thomas Perale <thomas.perale@mind.be>
----
- src/libjasper/base/jas_image.c | 71 ++++++++++++++++++++++++++++------
- 1 file changed, 59 insertions(+), 12 deletions(-)
-
-diff --git a/src/libjasper/base/jas_image.c b/src/libjasper/base/jas_image.c
-index 68a94e1..cd99ba2 100644
---- a/src/libjasper/base/jas_image.c
-+++ b/src/libjasper/base/jas_image.c
-@@ -112,6 +112,8 @@ static long convert(long val, bool oldsgnd, unsigned oldprec, bool newsgnd,
- unsigned newprec);
- static void jas_image_calcbbox2(const jas_image_t *image, jas_image_coord_t *tlx,
- jas_image_coord_t *tly, jas_image_coord_t *brx, jas_image_coord_t *bry);
-+static jas_cmcmptfmt_t* jas_cmcmptfmt_array_create(int n);
-+static void jas_cmcmptfmt_array_destroy(jas_cmcmptfmt_t* cmptfmts, int n);
-
- /******************************************************************************\
- * Global data.
-@@ -409,6 +411,31 @@ static void jas_image_cmpt_destroy(jas_image_cmpt_t *cmpt)
- jas_free(cmpt);
- }
-
-+static jas_cmcmptfmt_t* jas_cmcmptfmt_array_create(int n)
-+{
-+ jas_cmcmptfmt_t* cmptfmts;
-+ if (!(cmptfmts = jas_alloc2(n, sizeof(jas_cmcmptfmt_t)))) {
-+ return 0;
-+ }
-+ for (int i = 0; i < n; ++i) {
-+ cmptfmts[i].buf = 0;
-+ }
-+ return cmptfmts;
-+}
-+
-+static void jas_cmcmptfmt_array_destroy(jas_cmcmptfmt_t* cmptfmts, int n)
-+{
-+ assert(cmptfmts);
-+ assert(n > 0);
-+ for (int i = 0; i < n; ++i) {
-+ if (cmptfmts[i].buf) {
-+ jas_free(cmptfmts[i].buf);
-+ }
-+ cmptfmts[i].buf = 0;
-+ }
-+ jas_free(cmptfmts);
-+}
-+
- /******************************************************************************\
- * Load and save operations.
- \******************************************************************************/
-@@ -1470,19 +1497,25 @@ jas_image_t *jas_image_chclrspc(jas_image_t *image, const jas_cmprof_t *outprof,
- jas_cmcmptfmt_t *incmptfmts;
- jas_cmcmptfmt_t *outcmptfmts;
-
-+ assert(image);
-+ assert(outprof);
-+
- #if 0
- jas_eprintf("IMAGE\n");
- jas_image_dump(image, stderr);
- #endif
-
-- if (image->numcmpts_ == 0)
-+ if (!jas_image_numcmpts(image)) {
- /* can't work with a file with no components;
- continuing would crash because we'd attempt to
- obtain information about the first component */
- return NULL;
-+ }
-
- outimage = 0;
- xform = 0;
-+ incmptfmts = 0;
-+ outcmptfmts = 0;
- if (!(inimage = jas_image_copy(image)))
- goto error;
- image = 0;
-@@ -1565,15 +1598,21 @@ jas_image_dump(image, stderr);
- }
-
- inpixmap.numcmpts = numinclrchans;
-- if (!(incmptfmts = jas_alloc2(numinclrchans, sizeof(jas_cmcmptfmt_t)))) {
-+ assert(numinclrchans != 0);
-+ if (!(incmptfmts = jas_cmcmptfmt_array_create(numinclrchans))) {
- abort();
- }
- inpixmap.cmptfmts = incmptfmts;
- for (unsigned i = 0; i < numinclrchans; ++i) {
- const int j = jas_image_getcmptbytype(inimage, JAS_IMAGE_CT_COLOR(i));
-+ if (j < 0) {
-+ jas_eprintf("missing color component %d\n", i);
-+ goto error;
-+ }
- if (!(incmptfmts[i].buf = jas_alloc2(width, sizeof(long)))) {
- goto error;
- }
-+ assert(j >= 0 && j < jas_image_numcmpts(inimage));
- incmptfmts[i].prec = jas_image_cmptprec(inimage, j);
- incmptfmts[i].sgnd = jas_image_cmptsgnd(inimage, j);
- incmptfmts[i].width = width;
-@@ -1581,15 +1620,21 @@ jas_image_dump(image, stderr);
- }
-
- outpixmap.numcmpts = numoutclrchans;
-- if (!(outcmptfmts = jas_alloc2(numoutclrchans, sizeof(jas_cmcmptfmt_t)))) {
-+ if (!(outcmptfmts = jas_cmcmptfmt_array_create(numoutclrchans))) {
- abort();
- }
- outpixmap.cmptfmts = outcmptfmts;
-
- for (unsigned i = 0; i < numoutclrchans; ++i) {
- const int j = jas_image_getcmptbytype(outimage, JAS_IMAGE_CT_COLOR(i));
-- if (!(outcmptfmts[i].buf = jas_alloc2(width, sizeof(long))))
-+ if (j < 0) {
-+ jas_eprintf("missing color component %d\n", i);
- goto error;
-+ }
-+ if (!(outcmptfmts[i].buf = jas_alloc2(width, sizeof(long)))) {
-+ goto error;
-+ }
-+ assert(j >= 0 && j < jas_image_numcmpts(outimage));
- outcmptfmts[i].prec = jas_image_cmptprec(outimage, j);
- outcmptfmts[i].sgnd = jas_image_cmptsgnd(outimage, j);
- outcmptfmts[i].width = width;
-@@ -1612,14 +1657,8 @@ jas_image_dump(image, stderr);
- }
- }
-
-- for (unsigned i = 0; i < numoutclrchans; ++i) {
-- jas_free(outcmptfmts[i].buf);
-- }
-- jas_free(outcmptfmts);
-- for (unsigned i = 0; i < numinclrchans; ++i) {
-- jas_free(incmptfmts[i].buf);
-- }
-- jas_free(incmptfmts);
-+ jas_cmcmptfmt_array_destroy(outcmptfmts, numoutclrchans);
-+ jas_cmcmptfmt_array_destroy(incmptfmts, numinclrchans);
- jas_cmxform_destroy(xform);
- jas_image_destroy(inimage);
-
-@@ -1631,6 +1670,14 @@ jas_image_dump(outimage, stderr);
- #endif
- return outimage;
- error:
-+ if (incmptfmts) {
-+ assert(numinclrchans);
-+ jas_cmcmptfmt_array_destroy(incmptfmts, numinclrchans);
-+ }
-+ if (outcmptfmts) {
-+ assert(numoutclrchans);
-+ jas_cmcmptfmt_array_destroy(outcmptfmts, numoutclrchans);
-+ }
- if (xform)
- jas_cmxform_destroy(xform);
- if (inimage)
---
-2.39.5
diff --git a/package/jasper/jasper.hash b/package/jasper/jasper.hash
index 410bcfc683..3bda474dfa 100644
--- a/package/jasper/jasper.hash
+++ b/package/jasper/jasper.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 28d28290cc2eaf70c8756d391ed8bcc8ab809a895b9a67ea6e89da23a611801a jasper-2.0.33.tar.gz
-sha256 4ad1bb42aff888c4403d792e6e2c5f1716d6c279fea70b296333c9d577d30b81 LICENSE
+sha256 98058a94fbff57ec6e31dcaec37290589de0ba6f47c966f92654681a56c71fae jasper-4.2.8.tar.gz
+sha256 4ad1bb42aff888c4403d792e6e2c5f1716d6c279fea70b296333c9d577d30b81 LICENSE.txt
diff --git a/package/jasper/jasper.mk b/package/jasper/jasper.mk
index 527ad6fa8c..a41f7cb6d8 100644
--- a/package/jasper/jasper.mk
+++ b/package/jasper/jasper.mk
@@ -4,22 +4,27 @@
#
################################################################################
-JASPER_VERSION = 2.0.33
+JASPER_VERSION = 4.2.8
JASPER_SITE = https://github.com/jasper-software/jasper/releases/download/version-$(JASPER_VERSION)
JASPER_INSTALL_STAGING = YES
JASPER_LICENSE = JasPer-2.0
-JASPER_LICENSE_FILES = LICENSE
+JASPER_LICENSE_FILES = LICENSE.txt
JASPER_CPE_ID_VALID = YES
JASPER_SUPPORTS_IN_SOURCE_BUILD = NO
JASPER_CONF_OPTS = \
-DJAS_ENABLE_DOC=OFF \
-DJAS_ENABLE_PROGRAMS=OFF
-# 0001-Fixes-367.patch
-JASPER_IGNORE_CVES += CVE-2023-51257
+# Despite using JASPER_SUPPORTS_IN_SOURCE_BUILD = NO jasper detects an
+# in-source-build because a subdirectory inside the source directory
+# is used so we need to force the build.
+JASPER_CONF_OPTS += \
+ -DALLOW_IN_SOURCE_BUILD=ON
-# 0002-Fixes-400.patch
-JASPER_IGNORE_CVES += CVE-2025-8835
+# needed for cross-compile
+JASPER_STDC_VERSION="`echo __STDC_VERSION__ | $(TARGET_CROSS)cpp -E -P -`"
+JASPER_CONF_OPTS += \
+ -DJAS_STDC_VERSION=$(JASPER_STDC_VERSION)
ifeq ($(BR2_STATIC_LIBS),y)
JASPER_CONF_OPTS += -DJAS_ENABLE_SHARED=OFF
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH/next 1/1] package/jasper: bump version to 4.2.8
2025-12-02 17:59 [Buildroot] [PATCH/next 1/1] package/jasper: bump version to 4.2.8 Bernd Kuhls
@ 2025-12-16 9:48 ` Thomas Petazzoni via buildroot
2026-02-03 17:29 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-12-16 9:48 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot, Michael Vetter
Hello Bernd,
Thanks for this version bump. Is this fixing the CMake 4 compatibility?
On Tue, 2 Dec 2025 18:59:15 +0100
Bernd Kuhls <bernd@kuhls.net> wrote:
> -# 0002-Fixes-400.patch
> -JASPER_IGNORE_CVES += CVE-2025-8835
> +# needed for cross-compile
> +JASPER_STDC_VERSION="`echo __STDC_VERSION__ | $(TARGET_CROSS)cpp -E -P -`"
> +JASPER_CONF_OPTS += \
> + -DJAS_STDC_VERSION=$(JASPER_STDC_VERSION)
This looks meh. Why does it need this? Why isn't the CMakeLists.txt not
detecting this?
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH/next 1/1] package/jasper: bump version to 4.2.8
2025-12-02 17:59 [Buildroot] [PATCH/next 1/1] package/jasper: bump version to 4.2.8 Bernd Kuhls
2025-12-16 9:48 ` Thomas Petazzoni via buildroot
@ 2026-02-03 17:29 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-02-03 17:29 UTC (permalink / raw)
To: Bernd Kuhls; +Cc: buildroot, Michael Vetter
On Tue, Dec 02, 2025 at 06:59:15PM +0100, Bernd Kuhls wrote:
> Removed patches which are included in this release.
>
> License file was renamed upstream:
> https://github.com/jasper-software/jasper/commit/688601c736165d424b95413ea40d5571a5ccfe02
>
> Added configure option to force builddir:
> https://github.com/jasper-software/jasper/blob/version-4.2.8/build/cmake/modules/InSourceBuild.cmake
>
> Added configure option for JAS_STDC_VERSION:
> https://github.com/jasper-software/jasper/commit/b8ecbfbf293ee6086e4d40108ad730229388cd8d
>
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Applied, thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-02-03 17:29 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-02 17:59 [Buildroot] [PATCH/next 1/1] package/jasper: bump version to 4.2.8 Bernd Kuhls
2025-12-16 9:48 ` Thomas Petazzoni via buildroot
2026-02-03 17:29 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox