]> mj.ucw.cz Git - pciutils.git/commitdiff
HWDB: Handle NULL returned by udev_list_entry_get_*
authorMartin Mares <mj@ucw.cz>
Sun, 26 Dec 2021 20:52:37 +0000 (21:52 +0100)
committerMartin Mares <mj@ucw.cz>
Sun, 26 Dec 2021 20:52:37 +0000 (21:52 +0100)
Based on a patch by <lixiaokeng@huawei.com>.

lib/names-hwdb.c

index 07b3499b4ee58f406cd8c575ba87ec6b523c6eda..171723b68639c29578087d8ebf900cd6c584610c 100644 (file)
@@ -71,8 +71,15 @@ pci_id_hwdb_lookup(struct pci_access *a, int cat, int id1, int id2, int id3, int
 
       struct udev_list_entry *entry;
       udev_list_entry_foreach(entry, udev_hwdb_get_properties_list_entry(a->id_udev_hwdb, modalias, 0))
-        if (strcmp(udev_list_entry_get_name(entry), key) == 0)
-         return pci_strdup(a, udev_list_entry_get_value(entry));
+       {
+         const char *entry_name = udev_list_entry_get_name(entry);
+         if (entry_name && !strcmp(entry_name, key))
+           {
+             const char *entry_value = udev_list_entry_get_value(entry);
+             if (entry_value)
+               return pci_strdup(a, entry_value);
+           }
+       }
     }
 
   return NULL;