Fix issue with invalid utf-8 chars in needs-restarting
Signed-off-by: Jonathan Wright <jonathan@almalinux.org>
This commit is contained in:
parent
930958ff66
commit
6ac15e99f4
60
SOURCES/0030-Fix-issue-with-invalid-utf8.patch
Normal file
60
SOURCES/0030-Fix-issue-with-invalid-utf8.patch
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
From 6539ae56dc5993bfb0a72fed97a7f7fda2c3ce61 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jonathan Wright <jonathan@almalinux.org>
|
||||||
|
Date: Mon, 14 Aug 2023 09:55:12 -0500
|
||||||
|
Subject: [PATCH] fixes error with handling invalid utf-8 chars in
|
||||||
|
needs-restarting
|
||||||
|
|
||||||
|
---
|
||||||
|
plugins/needs_restarting.py | 2 +-
|
||||||
|
tests/test_needs_restarting.py | 12 ++++++++++++
|
||||||
|
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/needs_restarting.py b/plugins/needs_restarting.py
|
||||||
|
index 1fedb73..d8ab0bc 100644
|
||||||
|
--- a/plugins/needs_restarting.py
|
||||||
|
+++ b/plugins/needs_restarting.py
|
||||||
|
@@ -73,7 +73,7 @@ def list_opened_files(uid):
|
||||||
|
try:
|
||||||
|
if uid is not None and uid != owner_uid(smaps):
|
||||||
|
continue
|
||||||
|
- with open(smaps, 'r') as smaps_file:
|
||||||
|
+ with open(smaps, 'r', errors='replace') as smaps_file:
|
||||||
|
lines = smaps_file.readlines()
|
||||||
|
except EnvironmentError:
|
||||||
|
logger.warning("Failed to read PID %d's smaps.", pid)
|
||||||
|
diff --git a/tests/test_needs_restarting.py b/tests/test_needs_restarting.py
|
||||||
|
index 0ad70a5..5bfcc4d 100644
|
||||||
|
--- a/tests/test_needs_restarting.py
|
||||||
|
+++ b/tests/test_needs_restarting.py
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+# coding: utf-8
|
||||||
|
# Copyright (C) 2014 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# This copyrighted material is made available to anyone wishing to use,
|
||||||
|
@@ -22,6 +23,7 @@ from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import needs_restarting
|
||||||
|
import tests.support
|
||||||
|
+import tempfile
|
||||||
|
|
||||||
|
DEL_FILE = '3dcf000000-3dcf032000 r-xp 00000000 08:02 140759 ' \
|
||||||
|
' /usr/lib64/libXfont.so.1.4.1;5408628d (deleted)'
|
||||||
|
@@ -46,6 +48,16 @@ class NeedsRestartingTest(tests.support.TestCase):
|
||||||
|
self.assertTrue(ofile.deleted)
|
||||||
|
self.assertEqual(ofile.name, '/usr/lib64/libXfont.so.1.4.1;5408628d')
|
||||||
|
|
||||||
|
+ def test_list_opened_files_garbage_filename(self):
|
||||||
|
+ tempObj = tempfile.NamedTemporaryFile()
|
||||||
|
+ tempFile = tempObj.name
|
||||||
|
+ with open(tempFile, 'wb') as bogusFile:
|
||||||
|
+ bogusFile.write(b'151e7f7b7000-151e7f7b8000 r--p 00006000 fd:01 14744 /usr/lib64/lib\xe5Evil-13.37.so')
|
||||||
|
+ smaps = [[1234,tempObj.name]]
|
||||||
|
+ with patch("needs_restarting.list_smaps", return_value=smaps):
|
||||||
|
+ ofiles = list(needs_restarting.list_opened_files(None));
|
||||||
|
+ self.assertEqual(ofiles[0].presumed_name, '/usr/lib64/lib<69>Evil-13.37.so')
|
||||||
|
+
|
||||||
|
|
||||||
|
class OpenedFileTest(tests.support.TestCase):
|
||||||
|
def test_presumed_name(self):
|
||||||
|
--
|
||||||
|
2.41.0
|
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
Name: dnf-plugins-core
|
Name: dnf-plugins-core
|
||||||
Version: 4.0.21
|
Version: 4.0.21
|
||||||
Release: 19%{?dist}
|
Release: 20%{?dist}.1.alma
|
||||||
Summary: Core Plugins for DNF
|
Summary: Core Plugins for DNF
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: https://github.com/rpm-software-management/dnf-plugins-core
|
URL: https://github.com/rpm-software-management/dnf-plugins-core
|
||||||
@ -68,6 +68,7 @@ Patch26: 0026-Add-a-warning-when-using-system-upgrade-on-RHEL.patch
|
|||||||
Patch27: 0027-offline-upgrade-Add-security-filters.patch
|
Patch27: 0027-offline-upgrade-Add-security-filters.patch
|
||||||
Patch28: 0028-system-upgrade-Show-warning-always-for-a-downstream.patch
|
Patch28: 0028-system-upgrade-Show-warning-always-for-a-downstream.patch
|
||||||
Patch29: 0029-Update-translations.patch
|
Patch29: 0029-Update-translations.patch
|
||||||
|
Patch30: 0030-Fix-issue-with-invalid-utf8.patch
|
||||||
|
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
@ -844,6 +845,9 @@ ln -sf %{_mandir}/man1/%{yum_utils_subpackage_name}.1.gz %{buildroot}%{_mandir}/
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Aug 14 2023 Jonathan Wright <jonathan@almalinux.org> - 4.0.21-20
|
||||||
|
- Fix issue with invalid utf-8 chars in needs-restarting rhbz#2212953
|
||||||
|
|
||||||
* Wed Mar 08 2023 Marek Blaha <mblaha@redhat.com> - 4.0.21-19
|
* Wed Mar 08 2023 Marek Blaha <mblaha@redhat.com> - 4.0.21-19
|
||||||
- Update translations
|
- Update translations
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user