Resolves: RHEL-53873
This commit is contained in:
parent
ad4779b199
commit
fbe2564c39
50
0001-sanlock-fix-invalid-strcpy-in-direct-dump.patch
Normal file
50
0001-sanlock-fix-invalid-strcpy-in-direct-dump.patch
Normal file
@ -0,0 +1,50 @@
|
||||
From 5b34da78d33c2fca7dc3d2c49ae6d395d90c48c1 Mon Sep 17 00:00:00 2001
|
||||
From: David Teigland <teigland@redhat.com>
|
||||
Date: Wed, 14 Aug 2024 11:51:17 -0500
|
||||
Subject: [PATCH] sanlock: fix invalid strcpy in direct dump
|
||||
|
||||
If a lockspace or resource name is the full 48 characters
|
||||
in length, then the ondisk name field does not contain a
|
||||
terminating null character and strcpy fails.
|
||||
---
|
||||
src/direct.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/direct.c b/src/direct.c
|
||||
index f70dc19d5ef2..3bc7659e905c 100644
|
||||
--- a/src/direct.c
|
||||
+++ b/src/direct.c
|
||||
@@ -730,8 +730,8 @@ int direct_dump(struct task *task, char *dump_path, int force_mode)
|
||||
if (!lr->owner_id && !lr->owner_generation)
|
||||
continue;
|
||||
|
||||
- strcpy(sname, lr->space_name);
|
||||
- strcpy(rname, lr->resource_name);
|
||||
+ memcpy(sname, lr->space_name, NAME_ID_SIZE);
|
||||
+ memcpy(rname, lr->resource_name, NAME_ID_SIZE);
|
||||
|
||||
printf("%08llu %36s %48s %010llu %04llu %04llu",
|
||||
(unsigned long long)(start_offset + ((sector_nr + i) * sector_size)),
|
||||
@@ -754,8 +754,8 @@ int direct_dump(struct task *task, char *dump_path, int force_mode)
|
||||
leader_record_in(lr_end, &lr_in);
|
||||
lr = &lr_in;
|
||||
|
||||
- strcpy(sname, lr->space_name);
|
||||
- strcpy(rname, lr->resource_name);
|
||||
+ memcpy(sname, lr->space_name, NAME_ID_SIZE);
|
||||
+ memcpy(rname, lr->resource_name, NAME_ID_SIZE);
|
||||
|
||||
printf("%08llu %36s %48s %010llu %04llu %04llu %llu",
|
||||
(unsigned long long)(start_offset + (sector_nr * sector_size)),
|
||||
@@ -806,7 +806,7 @@ int direct_dump(struct task *task, char *dump_path, int force_mode)
|
||||
rindex_header_in(rh_end, &rh_in);
|
||||
rh = &rh_in;
|
||||
|
||||
- strcpy(sname, rh->lockspace_name);
|
||||
+ memcpy(sname, rh->lockspace_name, NAME_ID_SIZE);
|
||||
|
||||
printf("%08llu %36s rindex_header 0x%x %d %u %llu\n",
|
||||
(unsigned long long)(start_offset + (sector_nr * sector_size)),
|
||||
--
|
||||
2.46.0
|
||||
|
@ -1,6 +1,6 @@
|
||||
Name: sanlock
|
||||
Version: 3.9.4
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: A shared storage lock manager
|
||||
License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.0-or-later
|
||||
URL: https://pagure.io/sanlock/
|
||||
@ -17,14 +17,14 @@ Requires(preun): systemd-units
|
||||
Requires(postun): systemd-units
|
||||
Source0: https://releases.pagure.org/sanlock/%{name}-%{version}.tar.gz
|
||||
|
||||
# Patch0: 0001-foo.patch
|
||||
Patch0: 0001-sanlock-fix-invalid-strcpy-in-direct-dump.patch
|
||||
|
||||
%description
|
||||
The sanlock daemon manages leases for applications on hosts using shared storage.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
# %patch0 -p1
|
||||
%patch0 -p1 -b .backup0
|
||||
|
||||
%build
|
||||
%set_build_flags
|
||||
@ -126,6 +126,9 @@ developing applications that use %{name}.
|
||||
%{_libdir}/pkgconfig/libsanlock_client.pc
|
||||
|
||||
%changelog
|
||||
* Wed Aug 14 2024 David Teigland <teigland@redhat.com> - 3.9.4-2
|
||||
- fix invalid strcpy in direct dump
|
||||
|
||||
* Fri Aug 09 2024 David Teigland <teigland@redhat.com> - 3.9.4-1
|
||||
- new upstream release, adopt sysusers, drop python bindings
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user