Compare commits

..

No commits in common. "3d9bf1ca41aa2df836b8d1371c9bd667ee13f4c2" and "e2965dc2dc09465b7fc67a00b2373c1d94d91aac" have entirely different histories.

2 changed files with 10 additions and 73 deletions

View File

@ -1,35 +0,0 @@
From a886ea40a29a08954ff80772e267828a1d440cc9 Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake@redhat.com>
Date: Fri, 13 Jan 2023 16:27:54 -0600
Subject: [PATCH] output: Avoid tickling UBSAN with memcpy(dest, NULL, 0)
Even though all libc handle it sanely (because size 0 says there is
nothing to copy), NULL is not a valid source pointer per a strict
reading of C, so UBSAN flags it:
+output.c:511:9: runtime error: null pointer passed as argument 2, which is declared to never be null
* src/output.c (make_room_for): Skip no-op memcpy.
Fixes: https://savannah.gnu.org/support/index.php?110809
Reported-by: Sam James
---
src/output.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/output.c b/src/output.c
index 956089b1..6dc8280a 100644
--- a/src/output.c
+++ b/src/output.c
@@ -508,7 +508,8 @@ make_room_for (int length)
{
char *buffer = output_diversion->u.buffer;
output_diversion->u.buffer = xcharalloc ((size_t) wanted_size);
- memcpy (output_diversion->u.buffer, buffer, output_diversion->used);
+ if (output_diversion->used)
+ memcpy (output_diversion->u.buffer, buffer, output_diversion->used);
free (buffer);
}
--
2.33.0

48
m4.spec
View File

@ -1,12 +1,11 @@
Name: m4
Version: 1.4.18
Release: 18
Release: 13
Summary: A GNU implementation of macro processor
License: GPL-3.0-or-later
License: GPLv3+
URL: https://www.gnu.org/software/m4/
Source0: https://ftp.gnu.org/gnu/m4/%{name}-%{version}.tar.xz
Patch0: m4-1.4.18-glibc-change-work-around.patch
Patch6000: backport-output-Avoid-tickling-UBSAN-with-memcpy-dest-NULL-0.patch
BuildRequires: gcc autoconf automake
Provides: bundled(gnulib)
@ -18,15 +17,17 @@ example, handling more than 9 positional parameters to macros). GNU M4
also has built-in functions for including files, running shell commands,
doing arithmetic, etc.
%package_help
%package help
Summary: Help Document
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%description help
This package provides help document for m4.
%prep
%autosetup -p1
%build
%ifarch aarch64
CFLAGS="$RPM_OPT_FLAGS -fsigned-char"
%endif
autoreconf -ivf
%configure
%make_build
@ -36,7 +37,7 @@ autoreconf -ivf
rm -rf %{buildroot}%{_infodir}/dir
%check
%make_build check
make check
%files
%doc README ChangeLog
@ -44,41 +45,12 @@ rm -rf %{buildroot}%{_infodir}/dir
%{_bindir}/m4
%files help
%defattr(-,root,root)
%doc NEWS INSTALL THANKS TODO
%{_mandir}/man1/m4*
%{_infodir}/m4*
%changelog
* Wed Oct 23 2024 gengqihu <gengqihu2@h-partners.com> - 1.4.18-18
- Type:NA
- ID:NA
- SUG:NA
- DESC:cleanup spec
* Mon Aug 12 2024 gengqihu <gengqihu2@h-partners.com> - 1.4.18-17
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:backport patch from upstream
* Wed Dec 29 2021 shixuantong <shixuantong@huawei.com> - 1.4.18-16
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:move -fsigned-char to %build
* Tue Dec 21 2021 shixuantong <shixuantong@huawei.com> - 1.4.18-15
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:add -fsigned-char to %check
* Sat Dec 18 2021 shixuantong <shixuantong@huawei.com> - 1.4.18-14
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix test_localeconv fail in aarch64 machine
* Mon Dec 31 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.4.18-13
- Type:NA
- ID:NA