add missing patch file
This commit is contained in:
parent
386c94e5bc
commit
1fcea0bdd3
63
SOURCES/0012-Fix-issue-with-invalid-utf8.patch
Normal file
63
SOURCES/0012-Fix-issue-with-invalid-utf8.patch
Normal file
@ -0,0 +1,63 @@
|
||||
From 7860463eb5ccc844f1d580edd7f12496fb6923b3 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 | 13 +++++++++++++
|
||||
2 files changed, 14 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..c021e06 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,
|
||||
@@ -20,8 +21,10 @@ from __future__ import absolute_import
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
+from unittest.mock import patch
|
||||
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 +49,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
|
Loading…
Reference in New Issue
Block a user