SHA256
1
0
forked from pool/mariadb
Martin Pluskal 2022-05-25 06:41:06 +00:00 committed by Git OBS Bridge
parent 32869673cb
commit a1def11e5c
8 changed files with 33 additions and 80 deletions

View File

@ -1,65 +0,0 @@
From b69191bbb2278fce92b470e8e3abafe048166e39 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marko=20M=C3=A4kel=C3=A4?= <marko.makela@mariadb.com>
Date: Fri, 18 Feb 2022 16:31:54 +0200
Subject: [PATCH] MDEV-26645: Fix UB in Item_func_plus and Item_func_minus
An integer overflow in an expression like a+b or a-b is undefined behavior.
The compiler is allowed to assume that no such overflow is possible,
and optimize away some code accordingly.
Item_func_plus::int_op(), Item_func_minus::int_op(): Always check
for overflow.
Depending on the compiler and the compilation options, a test might fail:
CURRENT_TEST: main.func_math
mysqltest: At line 425: query 'SELECT 9223372036854775807 + 9223372036854775807' succeeded - should have failed with errno 1690...
A similar bug had been fixed earlier in
commit 328edf8560dbf1941ce314fa112e0db05d9f97f1.
---
sql/item_func.cc | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/sql/item_func.cc b/sql/item_func.cc
index 60efc55d8785c..452bc74cc8215 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -1,5 +1,5 @@
/* Copyright (c) 2000, 2015, Oracle and/or its affiliates.
- Copyright (c) 2009, 2021, MariaDB
+ Copyright (c) 2009, 2022, MariaDB
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -1163,14 +1163,10 @@ longlong Item_func_plus::int_op()
}
}
-#ifndef WITH_UBSAN
- res= val0 + val1;
-#else
if (res_unsigned)
res= (longlong) ((ulonglong) val0 + (ulonglong) val1);
else
- res= val0+val1;
-#endif /* WITH_UBSAN */
+ res= val0 + val1;
return check_integer_overflow(res, res_unsigned);
@@ -1333,14 +1329,10 @@ longlong Item_func_minus::int_op()
goto err;
}
}
-#ifndef WITH_UBSAN
- res= val0 - val1;
-#else
if (res_unsigned)
res= (longlong) ((ulonglong) val0 - (ulonglong) val1);
else
res= val0 - val1;
-#endif /* WITH_UBSAN */
return check_integer_overflow(res, res_unsigned);

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:da286919ffc9c913282202349709b6ba4ebcd342815e8dae0aa6b6bd8f515cd4
size 86043006

View File

@ -1,6 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQQZk2nlQEvV/H0v5DvLywgqG7lD2wUCYgb2EAAKCRDLywgqG7lD
279xAKC5kHZ+FJJ4BRRskU8p3peeWH5OIACg7Ju1GgkBRYnnEI2lgB3t43cMvhk=
=k2G9
-----END PGP SIGNATURE-----

3
mariadb-10.8.3.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:887eadc55176ac1ead1fccfc89ade4b5990ef192745ad4dcd879acb41c050892
size 89719616

View File

@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQQZk2nlQEvV/H0v5DvLywgqG7lD2wUCYoWNuwAKCRDLywgqG7lD
2xQdAJoCVAEX98CNtgMpukqa5UY+LZh1JwCgpIvjNn3Sbo9ry52uX9mTDmGdYws=
=/O+Q
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,19 @@
-------------------------------------------------------------------
Mon May 23 09:03:33 UTC 2022 - Danilo Spinella <danilo.spinella@suse.com>
- Update to 10.8.3:
* release notes and changelog:
https://mariadb.com/kb/en/library/mariadb-1083-release-notes
https://mariadb.com/kb/en/library/mariadb-1083-changelog
https://mariadb.com/kb/en/library/mariadb-1082-release-notes
https://mariadb.com/kb/en/library/mariadb-1082-changelog
https://mariadb.com/kb/en/library/mariadb-1081-release-notes
https://mariadb.com/kb/en/library/mariadb-1081-changelog
https://mariadb.com/kb/en/library/mariadb-1080-release-notes
https://mariadb.com/kb/en/library/mariadb-1080-changelog
- Remove upstreamed patch:
* bsc1194828.patch
-------------------------------------------------------------------
Tue Mar 8 09:35:54 UTC 2022 - Danilo Spinella <danilo.spinella@suse.com>

View File

@ -52,7 +52,7 @@
# Build with cracklib plugin when cracklib-dict-full >= 2.9.0 is available
%define with_cracklib_plugin 0
Name: mariadb
Version: 10.7.3
Version: 10.8.3
Release: 0
Summary: Server part of MariaDB
License: SUSE-GPL-2.0-with-FLOSS-exception
@ -80,8 +80,6 @@ Patch6: mariadb-10.4.12-harden_setuid.patch
Patch7: mariadb-10.4.12-fix-install-db.patch
Patch9: func_math_tests_MDEV-26645.diff
Patch10: fix-pamdir.patch
# PATCH-FIX-UPSTREAM danilo.spinella@suse.com bsc#1194828 MDEV-26645
Patch11: bsc1194828.patch
# needed for bison SQL parser and wsrep API
BuildRequires: bison
BuildRequires: cmake
@ -367,7 +365,6 @@ find . -name "*.jar" -type f -exec rm --verbose -f {} \;
%if 0%{?suse_version} > 1500
%patch10 -p1
%endif
%patch11 -p1
cp %{_sourcedir}/suse-test-run .
@ -611,10 +608,10 @@ fi
%if %{with galera}
# mariadb-galera.files
filelist galera_new_cluster galera_recovery wsrep_sst_common wsrep_sst_mariabackup wsrep_sst_mysqldump wsrep_sst_rsync wsrep_sst_rsync_wan >mariadb-galera.files
filelist galera_new_cluster galera_recovery wsrep_sst_common wsrep_sst_mariabackup wsrep_sst_mysqldump wsrep_sst_rsync wsrep_sst_rsync_wan wsrep_sst_backup >mariadb-galera.files
touch mariadb-galera-exclude.files
%else
filelist_excludes galera_new_cluster galera_recovery wsrep_sst_common wsrep_sst_mariabackup wsrep_sst_mysqldump wsrep_sst_rsync wsrep_sst_rsync_wan >mariadb-galera-exclude.files
filelist_excludes galera_new_cluster galera_recovery wsrep_sst_common wsrep_sst_mariabackup wsrep_sst_mysqldump wsrep_sst_rsync wsrep_sst_rsync_wan wsrep_sst_backup >mariadb-galera-exclude.files
echo "%exclude %{_datadir}/mysql/systemd/use_galera_new_cluster.conf" >>mariadb-galera-exclude.files
echo "%exclude %{_datadir}/mysql/wsrep_notify" >>mariadb-galera-exclude.files
%endif
@ -941,6 +938,7 @@ exit 0
%files bench -f mariadb-bench.files
%{_datadir}/sql-bench
%{_datadir}/mysql/mini-benchmark
%files test -f mariadb-test.files
%{_bindir}/test-connect-t

View File

@ -80,3 +80,7 @@ main.selectivity_no_engine : since 10.7.3 - x86_64
main.mysql_upgrade : since 10.7.3 - x86_64
perfschema.privilege_table_io : since 10.7.3 - x86_64
perfschema.threads_mysql : since 10.8.3 - x86_64
disks.disks : since 10.8.3 - x86_64
disks.disks_notembedded : since 10.8.3 - x86_64