Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: Adrian Bunk <b...@debian.org>

Please unblock package dmidecode

[ Reason ]
This release fixes the bug that causes a segmentation fault (Debian Bug
#987033).

[ Impact ]
Dmidecode terminates with a segmentation fault when certain parameters are
used.

[ Tests ]
Before the fix dmidecode -u fails.
After the fix, dmidecode -u runs as expected.

[ Risks ]
The changes aree trival.

[ Checklist ]
  [X] all changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in testing

[ Other info ]
I ask about the unblock after a hint from Adrian Bunk.


unblock dmidecode/3.3-2
diff -Nru dmidecode-3.3/debian/changelog dmidecode-3.3/debian/changelog
--- dmidecode-3.3/debian/changelog      2020-10-17 10:31:23.000000000 +0200
+++ dmidecode-3.3/debian/changelog      2021-05-07 09:13:05.000000000 +0200
@@ -1,3 +1,15 @@
+dmidecode (3.3-2) unstable; urgency=medium
+
+  * Add upstream recommended patches (Closes: #987033):
+    - New debian/patches/0145-Fix_condition_error_in_ascii_filter.patch.
+    - New debian/patches/0150-Fix_crash.patch.
+  * Declare compliance with Debian Policy 4.5.1 (No changes needed).
+  * debian/copyright:
+    - Add year 2021 to myself.
+  * Remove longer not used patches.
+
+ -- Jörg Frings-Fürst <debian@jff.email>  Fri, 07 May 2021 09:13:05 +0200
+
 dmidecode (3.3-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru dmidecode-3.3/debian/control dmidecode-3.3/debian/control
--- dmidecode-3.3/debian/control        2020-10-17 09:58:18.000000000 +0200
+++ dmidecode-3.3/debian/control        2021-05-07 08:54:34.000000000 +0200
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Jörg Frings-Fürst <debian@jff.email>
 Build-Depends: debhelper-compat (= 13)
-Standards-Version: 4.5.0
+Standards-Version: 4.5.1
 Rules-Requires-Root: no
 Vcs-Git: git://jff.email/opt/git/dmidecode.git
 Vcs-Browser: https://jff.email/cgit/dmidecode.git/
diff -Nru dmidecode-3.3/debian/copyright dmidecode-3.3/debian/copyright
--- dmidecode-3.3/debian/copyright      2020-10-17 10:14:51.000000000 +0200
+++ dmidecode-3.3/debian/copyright      2021-05-07 08:56:16.000000000 +0200
@@ -13,7 +13,7 @@
 Files: debian/*
 Copyright: 2003-2007 Petter Reinholdtsen <p...@debian.org>
            2011-2012 Daniel Baumann <daniel.baum...@progress-technologies.net>
-           2014-2020 Jörg Frings-Fürst <debian@jff.email>
+           2014-2021 Jörg Frings-Fürst <debian@jff.email>
 License: GPL-2+
 
 License: GPL-2+
diff -Nru dmidecode-3.3/debian/patches/0005-build.patch 
dmidecode-3.3/debian/patches/0005-build.patch
--- dmidecode-3.3/debian/patches/0005-build.patch       2015-09-28 
12:36:46.000000000 +0200
+++ dmidecode-3.3/debian/patches/0005-build.patch       1970-01-01 
01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-Author: Daniel Baumann <daniel.baum...@progress-technologies.net>
-Description: Avoid overwriting build environment rather than to just extend it.
-
-Index: trunk/Makefile
-===================================================================
---- trunk.orig/Makefile
-+++ trunk/Makefile
-@@ -13,7 +13,7 @@
- #
- 
- CC      = gcc
--CFLAGS  = -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \
-+CFLAGS += -W -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual \
-           -Wcast-align -Wwrite-strings -Wmissing-prototypes -Winline -Wundef
- 
- # Let lseek and mmap support 64-bit wide offsets
-@@ -27,7 +27,7 @@ CFLAGS += -O2
- #CFLAGS += -g
- 
- # Pass linker flags here
--LDFLAGS =
-+#LDFLAGS =
- 
- DESTDIR =
- prefix  = /usr/local
diff -Nru dmidecode-3.3/debian/patches/0105-dmidecode-avoid-sigbus.patch 
dmidecode-3.3/debian/patches/0105-dmidecode-avoid-sigbus.patch
--- dmidecode-3.3/debian/patches/0105-dmidecode-avoid-sigbus.patch      
2015-10-01 06:33:47.000000000 +0200
+++ dmidecode-3.3/debian/patches/0105-dmidecode-avoid-sigbus.patch      
1970-01-01 01:00:00.000000000 +0100
@@ -1,50 +0,0 @@
-Description: Avoid SIGBUS on mmap failure
- mmap will fail with SIGBUS if trying to map a non-existent portion of
- a file. While this should never happen with /dev/mem, it can happen if
- passing a regular file with option -d. While people should no longer
- do that, failure gracefully seems better than crashing. So check for
- the file size before calling mmap.
-Author: Jean Delvare <jdelv...@suse.de>
-Origin: https://savannah.nongnu.org/bugs/download.php?file_id=35008
-Bug: https://savannah.nongnu.org/bugs/index.php?46066
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796963
-Last-Update: 2015-10-01
-----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- dmidecode.orig/util.c      2015-09-29 11:27:02.136566009 +0200
-+++ dmidecode/util.c   2015-09-29 11:37:24.746191083 +0200
-@@ -152,6 +152,7 @@ void *mem_chunk(off_t base, size_t len,
-       void *p;
-       int fd;
- #ifdef USE_MMAP
-+      struct stat statbuf;
-       off_t mmoffset;
-       void *mmp;
- #endif
-@@ -169,6 +170,26 @@ void *mem_chunk(off_t base, size_t len,
-       }
- 
- #ifdef USE_MMAP
-+      if (fstat(fd, &statbuf) == -1)
-+      {
-+              fprintf(stderr, "%s: ", devmem);
-+              perror("stat");
-+              free(p);
-+              return NULL;
-+      }
-+
-+      /*
-+       * mmap() will fail with SIGBUS if trying to map beyond the end of
-+       * the file.
-+       */
-+      if (S_ISREG(statbuf.st_mode) && base + (off_t)len > statbuf.st_size)
-+      {
-+              fprintf(stderr, "mmap: Can't map beyond end of file %s\n",
-+                      devmem);
-+              free(p);
-+              return NULL;
-+      }
-+
- #ifdef _SC_PAGESIZE
-       mmoffset = base % sysconf(_SC_PAGESIZE);
- #else
diff -Nru dmidecode-3.3/debian/patches/0110-nosysfs.patch 
dmidecode-3.3/debian/patches/0110-nosysfs.patch
--- dmidecode-3.3/debian/patches/0110-nosysfs.patch     2016-05-15 
12:53:07.000000000 +0200
+++ dmidecode-3.3/debian/patches/0110-nosysfs.patch     1970-01-01 
01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-From 33b5aafc6ee6b5de9f2526fb1cf4b14d1e16e4f0 Mon Sep 17 00:00:00 2001
-From: Roy Franz <roy.fr...@linaro.org>
-Date: Thu, 01 Oct 2015 06:41:43 +0000
-Subject: Add "--no-sysfs" option description to -h output
-
-A description of --no-sysfs was not added to the output of "-h" when
-the feature was added, so add it now.
----
-Index: trunk/CHANGELOG
-===================================================================
---- trunk.orig/CHANGELOG
-+++ trunk/CHANGELOG
-@@ -1,3 +1,7 @@
-+2015-10-01  Roy Franz  <roy.fr...@linaro.org>
-+
-+      * dmiopt.c: Add "--no-sysfs" option description to -h output.
-+
- 2015-09-03  Jean Delvare  <jdelv...@suse.de>
- 
-       * version.h: Set version to 3.0.
-Index: trunk/dmiopt.c
-===================================================================
---- trunk.orig/dmiopt.c
-+++ trunk/dmiopt.c
-@@ -314,6 +314,7 @@ void print_help(void)
-               " -u, --dump             Do not decode the entries\n"
-               "     --dump-bin FILE    Dump the DMI data to a binary file\n"
-               "     --from-dump FILE   Read the DMI data from a binary file\n"
-+              "     --no-sysfs         Do not attempt to read DMI data from 
sysfs files\n"
-               " -V, --version          Display the version and exit\n";
- 
-       printf("%s", help);
diff -Nru dmidecode-3.3/debian/patches/0115-no_smbios_DMI_entry_point.patch 
dmidecode-3.3/debian/patches/0115-no_smbios_DMI_entry_point.patch
--- dmidecode-3.3/debian/patches/0115-no_smbios_DMI_entry_point.patch   
2016-05-15 12:59:42.000000000 +0200
+++ dmidecode-3.3/debian/patches/0115-no_smbios_DMI_entry_point.patch   
1970-01-01 01:00:00.000000000 +0100
@@ -1,55 +0,0 @@
-From bf7bad24ce141dab5b5acc3ffb98ce5fe4a8e0f9 Mon Sep 17 00:00:00 2001
-From: Xie XiuQi <xiexi...@huawei.com>
-Date: Wed, 21 Oct 2015 13:12:50 +0000
-Subject: Fix 'No SMBIOS nor DMI entry point found' on SMBIOS3
-
-address_from_efi may return a SMBIOS or SMBIOS3 format entry
-point, so add this condition.
----
-Index: trunk/AUTHORS
-===================================================================
---- trunk.orig/AUTHORS
-+++ trunk/AUTHORS
-@@ -19,6 +19,7 @@ Jarod Wilson <ja...@redhat.com>
- Anton Arapov <an...@redhat.com>
- Roy Franz <roy.fr...@linaro.org>
- Tyler Bell <tyler.b...@hp.com>
-+Xie XiuQi <xiexi...@huawei.com>
- 
- MANY THANKS TO (IN CHRONOLOGICAL ORDER)
- Werner Heuser
-Index: trunk/CHANGELOG
-===================================================================
---- trunk.orig/CHANGELOG
-+++ trunk/CHANGELOG
-@@ -1,3 +1,7 @@
-+2015-10-21  Xie XiuQi  <xiexi...@huawei.com>
-+
-+      * dmidecode.c: Handle SMBIOS 3.0 entry points on EFI systems.
-+
- 2015-10-01  Roy Franz  <roy.fr...@linaro.org>
- 
-       * dmiopt.c: Add "--no-sysfs" option description to -h output.
-Index: trunk/dmidecode.c
-===================================================================
---- trunk.orig/dmidecode.c
-+++ trunk/dmidecode.c
-@@ -4864,8 +4864,16 @@ int main(int argc, char * const argv[])
-               goto exit_free;
-       }
- 
--      if (smbios_decode(buf, opt.devmem, 0))
--              found++;
-+      if (memcmp(buf, "_SM3_", 5) == 0)
-+      {
-+              if (smbios3_decode(buf, opt.devmem, 0))
-+                      found++;
-+      }
-+      else if (memcmp(buf, "_SM_", 4) == 0)
-+      {
-+              if (smbios_decode(buf, opt.devmem, 0))
-+                      found++;
-+      }
-       goto done;
- 
- memory_scan:
diff -Nru dmidecode-3.3/debian/patches/0120-return_actual_data_size.patch 
dmidecode-3.3/debian/patches/0120-return_actual_data_size.patch
--- dmidecode-3.3/debian/patches/0120-return_actual_data_size.patch     
2016-05-15 13:06:37.000000000 +0200
+++ dmidecode-3.3/debian/patches/0120-return_actual_data_size.patch     
1970-01-01 01:00:00.000000000 +0100
@@ -1,103 +0,0 @@
-From de9a74e1c60210bee229fcf55b1678a99d1b44dd Mon Sep 17 00:00:00 2001
-From: Jean Delvare <jdelv...@suse.de>
-Date: Mon, 02 Nov 2015 08:45:26 +0000
-Subject: Let read_file return the actual data size
-
-Let read_file return the actual data size to the caller. This gives
-the caller the possibility to check that the data size is as expected
-and large enough for the purpose, and report to the user if not.
----
-Index: trunk/CHANGELOG
-===================================================================
---- trunk.orig/CHANGELOG
-+++ trunk/CHANGELOG
-@@ -1,3 +1,8 @@
-+2015-11-02  Jean Delvare  <jdelv...@suse.de>
-+
-+      * dmidecode.c, util.c, util.h: Let read_file return the actual data
-+        size.
-+
- 2015-10-21  Xie XiuQi  <xiexi...@huawei.com>
- 
-       * dmidecode.c: Handle SMBIOS 3.0 entry points on EFI systems.
-Index: trunk/dmidecode.c
-===================================================================
---- trunk.orig/dmidecode.c
-+++ trunk/dmidecode.c
-@@ -4748,6 +4748,7 @@ int main(int argc, char * const argv[])
-       int ret = 0;                /* Returned value */
-       int found = 0;
-       off_t fp;
-+      size_t size;
-       int efi;
-       u8 *buf;
- 
-@@ -4817,8 +4818,9 @@ int main(int argc, char * const argv[])
-        * contain one of several types of entry points, so read enough for
-        * the largest one, then determine what type it contains.
-        */
-+      size = 0x20;
-       if (!(opt.flags & FLAG_NO_SYSFS)
--       && (buf = read_file(0x20, SYS_ENTRY_FILE)) != NULL)
-+       && (buf = read_file(&size, SYS_ENTRY_FILE)) != NULL)
-       {
-               if (!(opt.flags & FLAG_QUIET))
-                       printf("Getting SMBIOS data from sysfs.\n");
-Index: trunk/util.c
-===================================================================
---- trunk.orig/util.c
-+++ trunk/util.c
-@@ -94,10 +94,11 @@ int checksum(const u8 *buf, size_t len)
-  * needs to be freed by the caller.
-  * This provides a similar usage model to mem_chunk()
-  *
-- * Returns pointer to buffer of max_len bytes, or NULL on error
-+ * Returns pointer to buffer of max_len bytes, or NULL on error, and
-+ * sets max_len to the length actually read.
-  *
-  */
--void *read_file(size_t max_len, const char *filename)
-+void *read_file(size_t *max_len, const char *filename)
- {
-       int fd;
-       size_t r2 = 0;
-@@ -115,7 +116,7 @@ void *read_file(size_t max_len, const ch
-               return(NULL);
-       }
- 
--      if ((p = malloc(max_len)) == NULL)
-+      if ((p = malloc(*max_len)) == NULL)
-       {
-               perror("malloc");
-               return NULL;
-@@ -123,7 +124,7 @@ void *read_file(size_t max_len, const ch
- 
-       do
-       {
--              r = read(fd, p + r2, max_len - r2);
-+              r = read(fd, p + r2, *max_len - r2);
-               if (r == -1)
-               {
-                       if (errno != EINTR)
-@@ -140,6 +141,8 @@ void *read_file(size_t max_len, const ch
-       while (r != 0);
- 
-       close(fd);
-+      *max_len = r2;
-+
-       return p;
- }
- 
-Index: trunk/util.h
-===================================================================
---- trunk.orig/util.h
-+++ trunk/util.h
-@@ -25,7 +25,7 @@
- #define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))
- 
- int checksum(const u8 *buf, size_t len);
--void *read_file(size_t len, const char *filename);
-+void *read_file(size_t *len, const char *filename);
- void *mem_chunk(off_t base, size_t len, const char *devmem);
- int write_dump(size_t base, size_t len, const void *data, const char 
*dumpfile, int add);
- u64 u64_range(u64 start, u64 end);
diff -Nru 
dmidecode-3.3/debian/patches/0125-use_read_file_to_read_DMI_table_from_sysfs.patch
 
dmidecode-3.3/debian/patches/0125-use_read_file_to_read_DMI_table_from_sysfs.patch
--- 
dmidecode-3.3/debian/patches/0125-use_read_file_to_read_DMI_table_from_sysfs.patch
  2016-05-15 13:11:56.000000000 +0200
+++ 
dmidecode-3.3/debian/patches/0125-use_read_file_to_read_DMI_table_from_sysfs.patch
  1970-01-01 01:00:00.000000000 +0100
@@ -1,78 +0,0 @@
-From 364055211b1956539c6a6268e111e244e1292c8c Mon Sep 17 00:00:00 2001
-From: Jean Delvare <jdelv...@suse.de>
-Date: Mon, 02 Nov 2015 08:45:31 +0000
-Subject: dmidecode: Use read_file() to read the DMI table from sysfs
-
-We shouldn't use mem_chunk() to read the DMI table from sysfs. This
-will fail for SMBIOS v3 implementations which specify a maximum length
-for the table rather than its exact length. The kernel will trim the
-table to the actual length, so the DMI file will be shorter than the
-length announced in entry point.
-
-read_file() fits the bill in this case, as it deals with end of file
-nicely.
-
-This also helps with corrupted DMI tables, as the kernel will not
-export the part of the table that it wasn't able to parse, effectively
-trimming it.
-
-This fixes bug #46176:
-https://savannah.nongnu.org/bugs/?46176
-Unexpected end of file error
----
-Index: trunk/CHANGELOG
-===================================================================
---- trunk.orig/CHANGELOG
-+++ trunk/CHANGELOG
-@@ -2,6 +2,9 @@
- 
-       * dmidecode.c, util.c, util.h: Let read_file return the actual data
-         size.
-+      * dmidecode.c: Use read_file to read the DMI table from sysfs.
-+        This fixes Savannah bug #46176:
-+        https://savannah.nongnu.org/bugs/?46176
- 
- 2015-10-21  Xie XiuQi  <xiexi...@huawei.com>
- 
-Index: trunk/dmidecode.c
-===================================================================
---- trunk.orig/dmidecode.c
-+++ trunk/dmidecode.c
-@@ -4521,16 +4521,29 @@ static void dmi_table(off_t base, u32 le
-               printf("\n");
-       }
- 
--      /*
--       * When we are reading the DMI table from sysfs, we want to print
--       * the address of the table (done above), but the offset of the
--       * data in the file is 0.  When reading from /dev/mem, the offset
--       * in the file is the address.
--       */
-       if (flags & FLAG_NO_FILE_OFFSET)
--              base = 0;
-+      {
-+              /*
-+               * When reading from sysfs, the file may be shorter than
-+               * announced. For SMBIOS v3 this is expcted, as we only know
-+               * the maximum table size, not the actual table size. For older
-+               * implementations (and for SMBIOS v3 too), this would be the
-+               * result of the kernel truncating the table on parse error.
-+               */
-+              size_t size = len;
-+              buf = read_file(&size, devmem);
-+              if (!(opt.flags & FLAG_QUIET) && num && size != (size_t)len)
-+              {
-+                      printf("Wrong DMI structures length: %u bytes "
-+                              "announced, only %lu bytes available.\n",
-+                              len, (unsigned long)size);
-+              }
-+              len = size;
-+      }
-+      else
-+              buf = mem_chunk(base, len, devmem);
- 
--      if ((buf = mem_chunk(base, len, devmem)) == NULL)
-+      if (buf == NULL)
-       {
-               fprintf(stderr, "Table is unreachable, sorry."
- #ifndef USE_MMAP
diff -Nru dmidecode-3.3/debian/patches/0130-use_DWORD_for_table_max_size.patch 
dmidecode-3.3/debian/patches/0130-use_DWORD_for_table_max_size.patch
--- dmidecode-3.3/debian/patches/0130-use_DWORD_for_table_max_size.patch        
2016-05-15 13:14:12.000000000 +0200
+++ dmidecode-3.3/debian/patches/0130-use_DWORD_for_table_max_size.patch        
1970-01-01 01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-From ab02b117511230e46bbef7febbd854b9c832c13c Mon Sep 17 00:00:00 2001
-From: Xie XiuQi <xiexi...@huawei.com>
-Date: Mon, 01 Feb 2016 08:30:31 +0000
-Subject: Use DWORD for Structure table maximum size in SMBIOS3
-
-0Ch DWORD "Structure table maximum size"
-
-Maximum size of SMBIOS Structure Table, pointed to by
-the Structure Table Address, in bytes. The actual size is
-guaranteed to be less or equal to the maximum size.
-
-Signed-off-by: Xie XiuQi <xiexi...@huawei.com>
-Signed-off-by: Jean Delvare <jdelv...@suse.de>
----
-Index: trunk/dmidecode.c
-===================================================================
---- trunk.orig/dmidecode.c
-+++ trunk/dmidecode.c
-@@ -4612,7 +4612,7 @@ static int smbios3_decode(u8 *buf, const
-       }
- 
-       dmi_table(((off_t)offset.h << 32) | offset.l,
--                WORD(buf + 0x0C), 0, ver, devmem, flags | FLAG_STOP_AT_EOT);
-+                DWORD(buf + 0x0C), 0, ver, devmem, flags | FLAG_STOP_AT_EOT);
- 
-       if (opt.flags & FLAG_DUMP_BIN)
-       {
diff -Nru dmidecode-3.3/debian/patches/0135-hide_fixup_msg.patch 
dmidecode-3.3/debian/patches/0135-hide_fixup_msg.patch
--- dmidecode-3.3/debian/patches/0135-hide_fixup_msg.patch      2016-05-15 
13:18:54.000000000 +0200
+++ dmidecode-3.3/debian/patches/0135-hide_fixup_msg.patch      1970-01-01 
01:00:00.000000000 +0100
@@ -1,46 +0,0 @@
-From cff11afa886a0147d734b650755d232b5e7f2099 Mon Sep 17 00:00:00 2001
-From: Jean Delvare <jdelv...@suse.de>
-Date: Tue, 03 May 2016 13:32:21 +0000
-Subject: dmidecode: Hide irrelevant fixup message
-
-Only display the message about type 34 length fixup if the entry in
-question is going to be displayed. Otherwise it's only confusing.
-
-This fixes bug #109024:
-http://savannah.nongnu.org/support/?109024
-
-Fixes: 3f70b3515d91 ("dmidecode: Fix up invalid DMI type 34 structure length")
----
-Index: trunk/dmidecode.c
-===================================================================
---- trunk.orig/dmidecode.c
-+++ trunk/dmidecode.c
-@@ -2946,7 +2946,7 @@ static void dmi_64bit_memory_error_addre
-  * first 5 characters of the device name to be trimmed. It's easy to
-  * check and fix, so do it, but warn.
-  */
--static void dmi_fixup_type_34(struct dmi_header *h)
-+static void dmi_fixup_type_34(struct dmi_header *h, int display)
- {
-       u8 *p = h->data;
- 
-@@ -2954,7 +2954,9 @@ static void dmi_fixup_type_34(struct dmi
-       if (h->length == 0x10
-        && is_printable(p + 0x0B, 0x10 - 0x0B))
-       {
--              printf("Invalid entry length (%u). Fixed up to %u.\n", 0x10, 
0x0B);
-+              if (!(opt.flags & FLAG_QUIET) && display)
-+                      printf("Invalid entry length (%u). Fixed up to %u.\n",
-+                              0x10, 0x0B);
-               h->length = 0x0B;
-       }
- }
-@@ -4443,7 +4445,7 @@ static void dmi_table_decode(u8 *buf, u3
- 
-               /* Fixup a common mistake */
-               if (h.type == 34)
--                      dmi_fixup_type_34(&h);
-+                      dmi_fixup_type_34(&h, display);
- 
-               /* look for the next handle */
-               next = data + h.length;
diff -Nru dmidecode-3.3/debian/patches/0140-Fix_scan_entry_point.patch 
dmidecode-3.3/debian/patches/0140-Fix_scan_entry_point.patch
--- dmidecode-3.3/debian/patches/0140-Fix_scan_entry_point.patch        
2020-04-11 12:42:50.000000000 +0200
+++ dmidecode-3.3/debian/patches/0140-Fix_scan_entry_point.patch        
1970-01-01 01:00:00.000000000 +0100
@@ -1,54 +0,0 @@
-Description: Cherry picked fix Only scan /dev/mem for entry point on x86
-Author: <name and email of author, optional>
-Origin: upstream, 
http://git.savannah.nongnu.org/cgit/dmidecode.git/commit/?id=e12ec26e19e02281d3e7258c3aabb88a5cf5ec1d
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=946911
-Last-Update: 2019-12-19
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
-Index: trunk/dmidecode.c
-===================================================================
---- trunk.orig/dmidecode.c
-+++ trunk/dmidecode.c
-@@ -2,7 +2,7 @@
-  * DMI Decode
-  *
-  *   Copyright (C) 2000-2002 Alan Cox <a...@redhat.com>
-- *   Copyright (C) 2002-2018 Jean Delvare <jdelv...@suse.de>
-+ *   Copyright (C) 2002-2019 Jean Delvare <jdelv...@suse.de>
-  *
-  *   This program is free software; you can redistribute it and/or modify
-  *   it under the terms of the GNU General Public License as published by
-@@ -5534,7 +5534,7 @@ int main(int argc, char * const argv[])
-       off_t fp;
-       size_t size;
-       int efi;
--      u8 *buf;
-+      u8 *buf = NULL;
- 
-       /*
-        * We don't want stdout and stderr to be mixed up if both are
-@@ -5638,7 +5638,7 @@ int main(int argc, char * const argv[])
-                       printf("Failed to get SMBIOS data from sysfs.\n");
-       }
- 
--      /* Next try EFI (ia64, Intel-based Mac) */
-+      /* Next try EFI (ia64, Intel-based Mac, arm64) */
-       efi = address_from_efi(&fp);
-       switch (efi)
-       {
-@@ -5671,6 +5671,7 @@ int main(int argc, char * const argv[])
-       goto done;
- 
- memory_scan:
-+#if defined __i386__ || defined __x86_64__
-       if (!(opt.flags & FLAG_QUIET))
-               printf("Scanning %s for entry point.\n", opt.devmem);
-       /* Fallback to memory scan (x86, x86_64) */
-@@ -5713,6 +5714,7 @@ memory_scan:
-                       }
-               }
-       }
-+#endif
- 
- done:
-       if (!found && !(opt.flags & FLAG_QUIET))
diff -Nru 
dmidecode-3.3/debian/patches/0145-Fix_condition_error_in_ascii_filter.patch 
dmidecode-3.3/debian/patches/0145-Fix_condition_error_in_ascii_filter.patch
--- dmidecode-3.3/debian/patches/0145-Fix_condition_error_in_ascii_filter.patch 
1970-01-01 01:00:00.000000000 +0100
+++ dmidecode-3.3/debian/patches/0145-Fix_condition_error_in_ascii_filter.patch 
2021-05-07 08:41:39.000000000 +0200
@@ -0,0 +1,18 @@
+Description: Fix the condition error in ascii_filter
+Origin: upstream, 
http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=1117390ccd9cea139638db6f460bb6de70e28f94
+Last-Update: 2021-05-07
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/dmidecode.c
+===================================================================
+--- trunk.orig/dmidecode.c
++++ trunk/dmidecode.c
+@@ -116,7 +116,7 @@ static void ascii_filter(char *bp, size_
+       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] = '.';
+ }
+ 
diff -Nru dmidecode-3.3/debian/patches/0150-Fix_crash.patch 
dmidecode-3.3/debian/patches/0150-Fix_crash.patch
--- dmidecode-3.3/debian/patches/0150-Fix_crash.patch   1970-01-01 
01:00:00.000000000 +0100
+++ dmidecode-3.3/debian/patches/0150-Fix_crash.patch   2021-05-07 
08:44:07.000000000 +0200
@@ -0,0 +1,21 @@
+Description: Fix crash with -u option
+Origin: upstream, 
http://git.savannah.gnu.org/cgit/dmidecode.git/commit/?id=11e134e54d15e67a64c39a623f492a28df922517
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=987033
+Last-Update: 2021-05-07
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+Index: trunk/dmidecode.c
+===================================================================
+--- trunk.orig/dmidecode.c
++++ trunk/dmidecode.c
+@@ -248,9 +248,9 @@ static void dmi_dump(const struct dmi_he
+                       {
+                               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",
diff -Nru dmidecode-3.3/debian/patches/series 
dmidecode-3.3/debian/patches/series
--- dmidecode-3.3/debian/patches/series 2020-10-17 09:39:24.000000000 +0200
+++ dmidecode-3.3/debian/patches/series 2021-05-07 09:04:48.000000000 +0200
@@ -1,11 +1,4 @@
+0145-Fix_condition_error_in_ascii_filter.patch
+0150-Fix_crash.patch
 0100-ansi-c.patch
 0001-hurd.patch
-#0005-build.patch
-#0105-dmidecode-avoid-sigbus.patch
-#0110-nosysfs.patch
-#0115-no_smbios_DMI_entry_point.patch
-#0120-return_actual_data_size.patch
-#0125-use_read_file_to_read_DMI_table_from_sysfs.patch
-#0130-use_DWORD_for_table_max_size.patch
-#0135-hide_fixup_msg.patch
-#0140-Fix_scan_entry_point.patch

Reply via email to