!25 Update to 0.20

From: @dedv_dwe 
Reviewed-by: @open-bot 
Signed-off-by: @open-bot
This commit is contained in:
openeuler-ci-bot 2023-12-20 05:51:25 +00:00 committed by Gitee
commit 392cc4ce91
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 5 additions and 113 deletions

Binary file not shown.

BIN
0.20.tar.gz Normal file

Binary file not shown.

View File

@ -1,26 +0,0 @@
From d8294b25104e9033408c18b68567281ae8e9d5e0 Mon Sep 17 00:00:00 2001
From: Sebastian Rasmussen <sebras@gmail.com>
Date: Sat, 7 Nov 2020 00:33:46 +0800
Subject: [PATCH] jbig2dec: Add casts to silence a compiler warning.
---
jbig2_image.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/jbig2_image.c b/jbig2_image.c
index 2cb1e14..19eef22 100644
--- a/jbig2_image.c
+++ b/jbig2_image.c
@@ -347,8 +347,8 @@ jbig2_image_compose(Jbig2Ctx *ctx, Jbig2Image *dst, Jbig2Image *src, int x, int
if (src == NULL)
return 0;
- if ((UINT32_MAX - src->width < (x > 0 ? x : -x)) ||
- (UINT32_MAX - src->height < (y > 0 ? y : -y)))
+ if ((UINT32_MAX - src->width < (uint32_t) (x > 0 ? x : -x)) ||
+ (UINT32_MAX - src->height < (uint32_t) (y > 0 ? y : -y)))
{
#ifdef JBIG2_DEBUG
jbig2_error(ctx, JBIG2_SEVERITY_DEBUG, JBIG2_UNKNOWN_SEGMENT_NUMBER, "overflow in compose_image");
--
2.27.0

View File

@ -1,82 +0,0 @@
From f93f613aa9873026ccf7b0d625eb86c27b6b42b9 Mon Sep 17 00:00:00 2001
From: Chris Liddell <chris.liddell@artifex.com>
Date: Thu, 1 Oct 2020 15:58:25 +0100
Subject: [PATCH] Searching for a marker in a stream, honor alignment
When searching for markers in a stream buffer, we were "seeking" to the point
in the buffer, and casting to either a byte, ushort or a uint to make the
value comparison. But we cannot do that on SPARC because of the strict
alignment on that hardware.
So, we have to "unpack" the individual bytes from the stream to do the value
comparison.
Note: there are slightly confusing comments in the code that mention being
"on a 16 bit boundary" and "on a 32 bit boundary" - that's referring to the
offset into the buffer, *not* the actual memory address alignment.
Found in testing on Solaris/SPARC
---
jbig2_mmr.c | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/jbig2_mmr.c b/jbig2_mmr.c
index 578754c..5c39903 100644
--- a/jbig2_mmr.c
+++ b/jbig2_mmr.c
@@ -744,6 +744,16 @@ const mmr_table_node jbig2_mmr_black_decode[] = {
#define getbit(buf, x) ( ( buf[x >> 3] >> ( 7 - (x & 7) ) ) & 1 )
+/* On platforms that enforce aligned memory accesses, we can't just
+ * cast the byte * to the type of object we are accessing, we have
+ * unpack the requisite number of bytes, and deal with it that way.
+ * Note that the comments below about being 16/32 bit boundaries
+ * is referring to offsets into the byte stream, *not* memory
+ * addresses.
+ */
+#define getword16(b) ((uint16_t)(b[0] | (b[1] << 8)))
+#define getword32(b) ((uint32_t)(getword16(b) | (getword16((b + 2)) << 16)))
+
static uint32_t
jbig2_find_changing_element(const byte *line, uint32_t x, uint32_t w)
{
@@ -817,7 +827,7 @@ jbig2_find_changing_element(const byte *line, uint32_t x, uint32_t w)
if (w - x < 16) {
goto check8;
}
- if ( ((uint16_t*) line)[ x / 16] != all16) {
+ if ( getword16((line + (x / 8))) != all16) {
goto check8_no_eof;
}
x += 16; /* This will make x a multiple of 32. */
@@ -835,7 +845,7 @@ jbig2_find_changing_element(const byte *line, uint32_t x, uint32_t w)
look at the next uint16, then uint8, then last 8 bits. */
goto check16;
}
- if (((uint32_t*) line)[x/32] != all32) {
+ if ( getword32((line + (x / 8))) != all32) {
goto check16_no_eof;
}
x += 32;
@@ -849,7 +859,7 @@ jbig2_find_changing_element(const byte *line, uint32_t x, uint32_t w)
}
check16_no_eof:
assert(w - x >= 16);
- if ( ((uint16_t*) line)[x/16] != all16) {
+ if ( getword16((line + (x / 8))) != all16) {
goto check8_no_eof;
}
x += 16;
@@ -890,6 +900,9 @@ jbig2_find_changing_element(const byte *line, uint32_t x, uint32_t w)
return x;
}
+#undef getword16
+#undef getword32
+
static uint32_t
jbig2_find_changing_element_of_color(const byte *line, uint32_t x, uint32_t w, int color)
{
--
2.27.0

View File

@ -1,15 +1,12 @@
Name: jbig2dec
Version: 0.19
Release: 4
Version: 0.20
Release: 1
Summary: A decoder implementation of the JBIG2 image compression format.
License: AGPLv3+
URL: https://jbig2dec.com/
Source0: https://github.com/ArtifexSoftware/jbig2dec/archive/%{version}.tar.gz
Patch0: backprot-add-casts-to-silence-a-compiler-warning.patch
Patch1: backprot-searching-for-a-marker-in-a-stream.patch
BuildRequires: gcc libtool chrpath
Provides: %{name}-libs = %{version}-%{release}
Obsoletes: %{name}-libs < %{version}-%{release}
@ -73,6 +70,9 @@ echo "/usr/lib64" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
%{_mandir}/man1/%{name}.1*
%changelog
* Wed Dec 13 2023 wangqia <wangqia@uniontech.com> - 0.20-1
- Update to 0.20
* Thu Oct 27 2022 wuzx<wuzx1226@qq.com> - 0.19-4
- Type:feature
- CVE:NA