diff options
author | robot-piglet <[email protected]> | 2025-10-06 13:24:54 +0300 |
---|---|---|
committer | robot-piglet <[email protected]> | 2025-10-06 13:44:35 +0300 |
commit | 4adf7eecae16a9b228b28cc5f64c27ef69ad5ec2 (patch) | |
tree | 7eb435e05be335daa12c2588503ad4bcfd7c2d2b | |
parent | 60f45e69a4d7dbc6131208e16c45faf35aa5a985 (diff) |
Intermediate changes
commit_hash:cde87819ea8510fe3003346025c2bfe078d2c5a3
-rw-r--r-- | contrib/libs/openjpeg/.yandex_meta/override.nix | 4 | ||||
-rw-r--r-- | contrib/libs/openjpeg/CHANGELOG.md | 16 | ||||
-rw-r--r-- | contrib/libs/openjpeg/NEWS.md | 11 | ||||
-rw-r--r-- | contrib/libs/openjpeg/jp2.c | 8 | ||||
-rw-r--r-- | contrib/libs/openjpeg/openjpeg.h | 5 | ||||
-rw-r--r-- | contrib/libs/openjpeg/opj_config.h | 2 | ||||
-rw-r--r-- | contrib/libs/openjpeg/opj_config_private-linux.h | 2 | ||||
-rw-r--r-- | contrib/libs/openjpeg/ya.make | 4 | ||||
-rw-r--r-- | tools/ruff_linter/wrapper.py | 5 |
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, |