summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-piglet <[email protected]>2025-10-06 13:24:54 +0300
committerrobot-piglet <[email protected]>2025-10-06 13:44:35 +0300
commit4adf7eecae16a9b228b28cc5f64c27ef69ad5ec2 (patch)
tree7eb435e05be335daa12c2588503ad4bcfd7c2d2b
parent60f45e69a4d7dbc6131208e16c45faf35aa5a985 (diff)
Intermediate changes
commit_hash:cde87819ea8510fe3003346025c2bfe078d2c5a3
-rw-r--r--contrib/libs/openjpeg/.yandex_meta/override.nix4
-rw-r--r--contrib/libs/openjpeg/CHANGELOG.md16
-rw-r--r--contrib/libs/openjpeg/NEWS.md11
-rw-r--r--contrib/libs/openjpeg/jp2.c8
-rw-r--r--contrib/libs/openjpeg/openjpeg.h5
-rw-r--r--contrib/libs/openjpeg/opj_config.h2
-rw-r--r--contrib/libs/openjpeg/opj_config_private-linux.h2
-rw-r--r--contrib/libs/openjpeg/ya.make4
-rw-r--r--tools/ruff_linter/wrapper.py5
9 files changed, 45 insertions, 12 deletions
diff --git a/contrib/libs/openjpeg/.yandex_meta/override.nix b/contrib/libs/openjpeg/.yandex_meta/override.nix
index d173012e1fb..2bce90e4961 100644
--- a/contrib/libs/openjpeg/.yandex_meta/override.nix
+++ b/contrib/libs/openjpeg/.yandex_meta/override.nix
@@ -1,11 +1,11 @@
pkgs: attrs: with pkgs; with attrs; rec {
- version = "2.5.3";
+ version = "2.5.4";
src = fetchFromGitHub {
owner = "uclouvain";
repo = "openjpeg";
rev = "v${version}";
- sha256 = "sha256-ONPahcQ80e3ahYRQU+Tu8Z7ZTARjRlpXqPAYpUlX5sY=";
+ sha256 = "sha256-HSXGdpHUbwlYy5a+zKpcLo2d+b507Qf5nsaMghVBlZ8=";
};
patches = [];
diff --git a/contrib/libs/openjpeg/CHANGELOG.md b/contrib/libs/openjpeg/CHANGELOG.md
index 926e6f1f4f3..24daac65a67 100644
--- a/contrib/libs/openjpeg/CHANGELOG.md
+++ b/contrib/libs/openjpeg/CHANGELOG.md
@@ -1,5 +1,21 @@
# Changelog
+## [v2.5.4](https://github.com/uclouvain/openjpeg/releases/v2.5.4) (2025-09-20)
+
+[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.5.3...v2.5.4)
+
+**Closed issues:**
+
+- CMake configure warning with CMake 3.30 and newer [\#1579](https://github.com/uclouvain/openjpeg/issues/1579)
+
+**Merged pull requests:**
+
+- pkgconfig: drop unused libraries from `Libs.private` [\#1591](https://github.com/uclouvain/openjpeg/pull/1591) ([bgilbert](https://github.com/bgilbert))
+- Fix CMake warning: Compatibility with CMake \< 3.10 will be removed [\#1580](https://github.com/uclouvain/openjpeg/pull/1580) ([dzenanz](https://github.com/dzenanz))
+- code documentation updates [\#1576](https://github.com/uclouvain/openjpeg/pull/1576) ([weanti](https://github.com/weanti))
+- Fixed ICC profile copy failure on write [\#1574](https://github.com/uclouvain/openjpeg/pull/1574) ([mircomir](https://github.com/mircomir))
+- opj\_jp2\_read\_header: Check for error after parsing header. [\#1573](https://github.com/uclouvain/openjpeg/pull/1573) ([sebras](https://github.com/sebras)) (CVE-2025-54874)
+
## [v2.5.3](https://github.com/uclouvain/openjpeg/releases/v2.5.3) (2024-12-09)
[Full Changelog](https://github.com/uclouvain/openjpeg/compare/v2.5.2...v2.5.3)
diff --git a/contrib/libs/openjpeg/NEWS.md b/contrib/libs/openjpeg/NEWS.md
index 9e8b6b72a81..5990166cc12 100644
--- a/contrib/libs/openjpeg/NEWS.md
+++ b/contrib/libs/openjpeg/NEWS.md
@@ -2,6 +2,17 @@
More details in the [CHANGELOG](https://github.com/uclouvain/openjpeg/blob/master/CHANGELOG.md)
+## OpenJPEG 2.5.4 (Sept 2025)
+
+No API/ABI break compared to v2.5.3
+
+### Bug fixes
+
+* opj\_jp2\_read\_header: Check for error after parsing header. [\#1573](https://github.com/uclouvain/openjpeg/pull/1573)
+* pkgconfig: drop unused libraries from `Libs.private` [\#1591](https://github.com/uclouvain/openjpeg/pull/1591)
+* Fix CMake warning: Compatibility with CMake \< 3.10 will be removed [\#1580](https://github.com/uclouvain/openjpeg/pull/1580)
+* Fixed ICC profile copy failure on write [\#1574](https://github.com/uclouvain/openjpeg/pull/1574)
+
## OpenJPEG 2.5.3 (Dec 2024)
No API/ABI break compared to v2.5.2
diff --git a/contrib/libs/openjpeg/jp2.c b/contrib/libs/openjpeg/jp2.c
index 4df055a542a..3d16d1075fe 100644
--- a/contrib/libs/openjpeg/jp2.c
+++ b/contrib/libs/openjpeg/jp2.c
@@ -1987,6 +1987,12 @@ OPJ_BOOL opj_jp2_setup_encoder(opj_jp2_t *jp2,
if (image->icc_profile_len) {
jp2->meth = 2;
jp2->enumcs = 0;
+ jp2->color.icc_profile_buf = (OPJ_BYTE *)opj_malloc(image->icc_profile_len);
+ if (jp2->color.icc_profile_buf) {
+ jp2->color.icc_profile_len = image->icc_profile_len;
+ memcpy(jp2->color.icc_profile_buf, image->icc_profile_buf,
+ image->icc_profile_len);
+ }
} else {
jp2->meth = 1;
if (image->color_space == OPJ_CLRSPC_SRGB) {
@@ -2873,7 +2879,7 @@ OPJ_BOOL opj_jp2_read_header(opj_stream_private_t *p_stream,
p_image,
p_manager);
- if (p_image && *p_image) {
+ if (ret && p_image && *p_image) {
/* Set Image Color Space */
if (jp2->enumcs == 16) {
(*p_image)->color_space = OPJ_CLRSPC_SRGB;
diff --git a/contrib/libs/openjpeg/openjpeg.h b/contrib/libs/openjpeg/openjpeg.h
index 59abd323aed..fe2f1ee0c4f 100644
--- a/contrib/libs/openjpeg/openjpeg.h
+++ b/contrib/libs/openjpeg/openjpeg.h
@@ -635,6 +635,8 @@ typedef void * opj_codec_t;
/*
* Callback function prototype for read function
+ * @return returns The number of bytes delivered into
+ * \a p_buffer. -1 signals end of stream.
*/
typedef OPJ_SIZE_T(* opj_stream_read_fn)(void * p_buffer, OPJ_SIZE_T p_nb_bytes,
void * p_user_data) ;
@@ -1239,7 +1241,6 @@ OPJ_API void OPJ_CALLCONV opj_stream_set_user_data(opj_stream_t* p_stream,
/**
* Sets the length of the user data for the stream.
- *
* @param p_stream the stream to modify
* @param data_length length of the user_data.
*/
@@ -1437,6 +1438,8 @@ OPJ_API OPJ_BOOL OPJ_CALLCONV opj_set_decoded_components(opj_codec_t *p_codec,
* that is to say at the highest resolution level, even if requesting the image at lower
* resolution levels.
*
+ * Note: If p_start_x, p_start_y, p_end_x, p_end_y are all 0, then the whole image is decoded.
+ *
* Generally opj_set_decode_area() should be followed by opj_decode(), and the
* codec cannot be re-used.
* In the particular case of an image made of a single tile, several sequences of
diff --git a/contrib/libs/openjpeg/opj_config.h b/contrib/libs/openjpeg/opj_config.h
index 50d156357da..850cae5c4df 100644
--- a/contrib/libs/openjpeg/opj_config.h
+++ b/contrib/libs/openjpeg/opj_config.h
@@ -9,6 +9,6 @@
/* Version number. */
#define OPJ_VERSION_MAJOR 2
#define OPJ_VERSION_MINOR 5
-#define OPJ_VERSION_BUILD 3
+#define OPJ_VERSION_BUILD 4
#endif
diff --git a/contrib/libs/openjpeg/opj_config_private-linux.h b/contrib/libs/openjpeg/opj_config_private-linux.h
index 8076e7d32a6..cf5d183a063 100644
--- a/contrib/libs/openjpeg/opj_config_private-linux.h
+++ b/contrib/libs/openjpeg/opj_config_private-linux.h
@@ -1,6 +1,6 @@
/* create opj_config_private.h for CMake */
-#define OPJ_PACKAGE_VERSION "2.5.3"
+#define OPJ_PACKAGE_VERSION "2.5.4"
/* Not used by openjp2*/
/*#define HAVE_MEMORY_H 1*/
diff --git a/contrib/libs/openjpeg/ya.make b/contrib/libs/openjpeg/ya.make
index 28dcb166d3d..2dc9720c728 100644
--- a/contrib/libs/openjpeg/ya.make
+++ b/contrib/libs/openjpeg/ya.make
@@ -9,9 +9,9 @@ LICENSE(
LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
-VERSION(2.5.3)
+VERSION(2.5.4)
-ORIGINAL_SOURCE(https://github.com/uclouvain/openjpeg/archive/v2.5.3.tar.gz)
+ORIGINAL_SOURCE(https://github.com/uclouvain/openjpeg/archive/v2.5.4.tar.gz)
ADDINCL(
contrib/libs/openjpeg
diff --git a/tools/ruff_linter/wrapper.py b/tools/ruff_linter/wrapper.py
index 5ea8b6d6666..eecac1f267a 100644
--- a/tools/ruff_linter/wrapper.py
+++ b/tools/ruff_linter/wrapper.py
@@ -62,7 +62,6 @@ def process_file(orig_filename: str, ruff_bin: str, orig_config: Path, source_ro
if file_path.startswith(('fintech/uservices', 'taxi', 'sdg', 'electro')):
# TODO(alevitskii) TPS-28865, TPS-31380. Run checks for fintech and taxi in build root too.
- # TODO(alevitskii): have to give a pass for sdg, because they started using `extend`...
filename = os.path.realpath(orig_filename) if os.path.islink(orig_filename) else orig_filename
config = orig_config.resolve() if orig_config.is_symlink() else orig_config
else:
@@ -110,8 +109,6 @@ def main():
# otherwise we risk allowing to steal from arcadia. To do that we need to mark modules 1st-party/3rd-party
# in pyproject.toml.
extend_option_present = check_extend_option_present(style_config_path)
- # TODO(alevitskii): sdg is an unfortunate victim of an oversight, we need to fix it
- is_sdg = str(style_config_path.relative_to(params.source_root)).startswith('sdg')
ruff_bin = get_ruff_bin(params)
@@ -119,7 +116,7 @@ def main():
for file_name in params.files:
start_time = time.perf_counter()
- if extend_option_present and not is_sdg:
+ if extend_option_present:
elapsed = time.perf_counter() - start_time
report.add(
file_name,