dmidecode: Update to 3.3

Message ID 8d0bcdb3-4d0f-cc83-87c7-defc22d8888b@ipfire.org
State Accepted
Commit 6e314797751f5e5ab0e5729dae56b25a131627ac
Headers
Series dmidecode: Update to 3.3 |

Commit Message

Peter Müller Nov. 28, 2022, 5:17 p.m. UTC
  Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
---
 dmidecode/dmidecode.nm                        |  2 +-
 ...midecode-3.3-fix_crash_with_u_option.patch | 34 +++++++++++++++++++
 ..._the_condition_error_in_ascii_filter.patch | 30 ++++++++++++++++
 3 files changed, 65 insertions(+), 1 deletion(-)
 create mode 100644 dmidecode/patches/dmidecode-3.3-fix_crash_with_u_option.patch
 create mode 100644 dmidecode/patches/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
  

Patch

diff --git a/dmidecode/dmidecode.nm b/dmidecode/dmidecode.nm
index 27eee5d14..e4e37cbf5 100644
--- a/dmidecode/dmidecode.nm
+++ b/dmidecode/dmidecode.nm
@@ -4,7 +4,7 @@ 
 ###############################################################################
 
 name       = dmidecode
-version    = 3.2
+version    = 3.3
 release    = 1
 
 groups     = Applications/System
diff --git a/dmidecode/patches/dmidecode-3.3-fix_crash_with_u_option.patch b/dmidecode/patches/dmidecode-3.3-fix_crash_with_u_option.patch
new file mode 100644
index 000000000..497768add
--- /dev/null
+++ b/dmidecode/patches/dmidecode-3.3-fix_crash_with_u_option.patch
@@ -0,0 +1,34 @@ 
+From 11e134e54d15e67a64c39a623f492a28df922517 Mon Sep 17 00:00:00 2001
+From: Jean Delvare <jdelvare@suse.de>
+Date: Tue, 19 Jan 2021 16:26:01 +0100
+Subject: dmidecode: Fix crash with -u option
+
+A segmentation fault was reported with option -u. Turns out to be a
+stupid thinko where the buffer offset was reset at the wrong loop
+depth.
+
+Reported-by: Jerry Hoemann <jerry.hoemann@hpe.com>
+Fixes: da06888d08b9 ("dmidecode: Use the print helpers in dump mode too")
+Signed-off-by: Jean Delvare <jdelvare@suse.de>
+---
+ dmidecode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dmidecode.c b/dmidecode.c
+index 572cb1a..69ea0e8 100644
+--- a/dmidecode.c
++++ b/dmidecode.c
+@@ -248,9 +248,9 @@ static void dmi_dump(const struct dmi_header *h)
+ 			{
+ 				int j, l = strlen(s) + 1;
+ 
+-				off = 0;
+ 				for (row = 0; row < ((l - 1) >> 4) + 1; row++)
+ 				{
++					off = 0;
+ 					for (j = 0; j < 16 && j < l - (row << 4); j++)
+ 						off += sprintf(raw_data + off,
+ 						       j ? " %02X" : "%02X",
+-- 
+cgit v1.2.1
+
diff --git a/dmidecode/patches/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch b/dmidecode/patches/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
new file mode 100644
index 000000000..e5f99b477
--- /dev/null
+++ b/dmidecode/patches/dmidecode-3.3-fix_the_condition_error_in_ascii_filter.patch
@@ -0,0 +1,30 @@ 
+From 1117390ccd9cea139638db6f460bb6de70e28f94 Mon Sep 17 00:00:00 2001
+From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
+Date: Tue, 5 Jan 2021 10:36:29 +0100
+Subject: dmidecode: Fix the condition error in ascii_filter
+
+The normal printable ASCII range is 32 to 127 (not included),
+so fix the error in this if condition.
+
+Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
+Signed-off-by: Jean Delvare <jdelvare@suse.de>
+---
+ dmidecode.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dmidecode.c b/dmidecode.c
+index 27d5494..864a193 100644
+--- a/dmidecode.c
++++ b/dmidecode.c
+@@ -116,7 +116,7 @@ static void ascii_filter(char *bp, size_t len)
+ 	size_t i;
+ 
+ 	for (i = 0; i < len; i++)
+-		if (bp[i] < 32 || bp[i] == 127)
++		if (bp[i] < 32 || bp[i] >= 127)
+ 			bp[i] = '.';
+ }
+ 
+-- 
+cgit v1.2.1
+