Compare commits

..

No commits in common. "bd575373e407cd9a148e59252b4c2a6838ea8e18" and "9fab11808f913005b2ee86971e0cec8f077f9f8f" have entirely different histories.

6 changed files with 4 additions and 119 deletions

View File

@ -1,35 +0,0 @@
From eff308af425b67093bab25f80f1ae950166bece1 Mon Sep 17 00:00:00 2001
From: Mark Adler <fork@madler.net>
Date: Sat, 30 Jul 2022 15:51:11 -0700
Subject: [PATCH] Fix a bug when getting a gzip header extra field with
inflate().
If the extra field was larger than the space the user provided with
inflateGetHeader(), and if multiple calls of inflate() delivered
the extra header data, then there could be a buffer overflow of the
provided space. This commit assures that provided space is not
exceeded.
Conflict:NA
Reference:https://github.com/madler/zlib/commit/eff308af425b67093bab25f80f1ae950166bece1
---
zlib/inflate.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/zlib/inflate.c b/zlib/inflate.c
index 7be8c6366..7a7289749 100644
--- a/zlib/inflate.c
+++ b/zlib/inflate.c
@@ -763,9 +763,10 @@ int flush;
copy = state->length;
if (copy > have) copy = have;
if (copy) {
+ len = state->head->extra_len - state->length;
if (state->head != Z_NULL &&
- state->head->extra != Z_NULL) {
- len = state->head->extra_len - state->length;
+ state->head->extra != Z_NULL &&
+ len < state->head->extra_max) {
zmemcpy(state->head->extra + len, next,
len + copy > state->head->extra_max ?
state->head->extra_max - len : copy);

View File

@ -1,32 +0,0 @@
From 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d Mon Sep 17 00:00:00 2001
From: Mark Adler <fork@madler.net>
Date: Mon, 8 Aug 2022 10:50:09 -0700
Subject: [PATCH] Fix extra field processing bug that dereferences NULL
state->head.
The recent commit to fix a gzip header extra field processing bug
introduced the new bug fixed here.
Conflict:NA
Reference:https://github.com/madler/zlib/commit/1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d
---
zlib/inflate.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/zlib/inflate.c b/zlib/inflate.c
index 7a7289749..2a3c4fe98 100644
--- a/zlib/inflate.c
+++ b/zlib/inflate.c
@@ -763,10 +763,10 @@ int flush;
copy = state->length;
if (copy > have) copy = have;
if (copy) {
- len = state->head->extra_len - state->length;
if (state->head != Z_NULL &&
state->head->extra != Z_NULL &&
- len < state->head->extra_max) {
+ (len = state->head->extra_len - state->length) <
+ state->head->extra_max) {
zmemcpy(state->head->extra + len, next,
len + copy > state->head->extra_max ?
state->head->extra_max - len : copy);

Binary file not shown.

View File

@ -1,20 +0,0 @@
diff -Naur mariadb-connector-c-3.1.13-src.org/include/ma_global.h mariadb-connector-c-3.1.13-src.sw/include/ma_global.h
--- mariadb-connector-c-3.1.13-src.org/include/ma_global.h 2021-11-23 11:22:25.760000000 +0000
+++ mariadb-connector-c-3.1.13-src.sw/include/ma_global.h 2021-11-23 11:23:38.230000000 +0000
@@ -137,6 +137,16 @@
#define FIX_GCC_LINKING_PROBLEM
#endif
+/* egcs 1.1.2 has a problem with memcpy on Sw_64 */
+#if defined(__GNUC__) && defined(__sw_64__) && ! (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95))
+#define BAD_MEMCPY
+#endif
+
+/* In Linux-sw_64 we have atomic.h if we are using gcc */
+#if defined(HAVE_LINUXTHREADS) && defined(__GNUC__) && defined(__sw_64__) && (__GNUC__ > 2 || ( __GNUC__ == 2 && __GNUC_MINOR__ >= 95)) && !defined(HAVE_ATOMIC_ADD)
+#define HAVE_ATOMIC_ADD
+#define HAVE_ATOMIC_SUB
+#endif
/* egcs 1.1.2 has a problem with memcpy on Alpha */
#if defined(__GNUC__) && defined(__alpha__) && ! (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95))
#define BAD_MEMCPY

View File

@ -1,20 +1,16 @@
Name: mariadb-connector-c
Version: 3.1.13
Release: 4
Version: 3.0.6
Release: 7
Summary: MariaDB connector library in C
License: LGPLv2+
URL: https://github.com/MariaDB/mariadb-connector-c
Source0: https://downloads.mariadb.com/Connectors/c/connector-c-%{version}/mariadb-connector-c-%{version}-src.tar.gz
BuildRequires: libcurl-devel zlib-devel openssl-devel
BuildRequires: cmake gcc
BuildRequires: cmake git
Provides: %{name}-config%{?_isa} %{name}-config
Obsoletes: %{name}-config
Patch0001: 0001-CVE-2022-37434.patch
Patch0002: 0002-CVE-2022-37434.patch
Patch0003: mariadb-connector-c-3.1.13-src-sw.patch
%description
This package is used for connecting C/C++ programs to MariaDB and
MySQL database.
@ -30,7 +26,7 @@ Requires: openssl-devel
This package includes library and header files for development.
%prep
%autosetup -n %{name}-%{version}-src -p1
%autosetup -n %{name}-%{version}-src -p1 -S git
%build
%cmake . \
@ -93,32 +89,8 @@ end
%dir %{_includedir}/mysql
%{_includedir}/mysql/*
%{_libdir}/*.so
%ifarch loongarch64
%{_prefix}/lib/pkgconfig/libmariadb.pc
%else
%{_libdir}/pkgconfig/libmariadb.pc
%endif
%changelog
* Fri Dec 16 2022 wuzx<wuzx1226@qq.com> - 3.1.13-4
- Add sw64 architecture
* Mon Nov 14 2022 zhaozhen <zhaozhen@loongson.cn> - 3.1.13-3
- Add loongarch support
* Mon Oct 10 2022 Jiangtian Feng <fengjiangtian@huawei.com> -3.1.13-2
- Type:CVE
- CVE:CVE-2022-37434
- SUG:NA
- DESC: fix CVE-2022-37434
- fix CVE-2022-37434
* Thu Dec 9 2021 yanglongkang <yanglongkang@huawei.com> - 3.1.13-1
- update package to 3.1.13
* Tue Jun 29 2021 zhouwenpei <zhouwenpei1@huawei.com> - 3.0.6-8
- add buildrequire gcc
* Tue Nov 10 2020 yanglongkang <yanglongkang@huawei.com> - 3.0.6-7
- Temporarily roll back the version 3.0.6 to resolve the conflict