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
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 +