You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hardinfo/SOURCES/0003-Fix-segfault-when-info...

35 lines
1.2 KiB

From 8e2247a195b5d31595ef12a5b007dde46b2ada94 Mon Sep 17 00:00:00 2001
From: Alexey Berezhok <aberezhok@msvsphere-os.ru>
Date: Fri, 13 Oct 2023 20:06:34 +0300
Subject: [PATCH] Fix segfault when info about block storage is absent
---
hardinfo/storage_util.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hardinfo/storage_util.c b/hardinfo/storage_util.c
index ce82407..7e61d33 100644
--- a/hardinfo/storage_util.c
+++ b/hardinfo/storage_util.c
@@ -100,7 +100,7 @@ void check_sdcard_vendor(u2driveext *e) {
g_file_get_contents(oemid_path, &oemid, NULL, NULL);
g_file_get_contents(manfid_path, &manfid, NULL, NULL);
- unsigned int id = strtol(oemid, NULL, 16);
+ unsigned int id = oemid?strtol(oemid, NULL, 16):0;
char c2 = id & 0xff, c1 = (id >> 8) & 0xff;
qpath = g_strdup_printf("OEMID %02x%02x", (unsigned int)c1, (unsigned int)c2);
@@ -114,7 +114,7 @@ void check_sdcard_vendor(u2driveext *e) {
isprint(c1) ? c1 : '.', isprint(c2) ? c2 : '.');
g_free(qpath);
- id = strtol(manfid, NULL, 16);
+ id = manfid?strtol(manfid, NULL, 16):0;
qpath = g_strdup_printf("MANFID %06x", id);
scan_ids_file(sdcard_ids_file, qpath, &result, -1);
g_free(manfid);
--
2.39.1