]> git.ipfire.org Git - thirdparty/pciutils.git/commitdiff
Fixed logic error in pci_open()
authorMartin Mares <mj@ucw.cz>
Thu, 6 Dec 2012 16:05:15 +0000 (17:05 +0100)
committerMartin Mares <mj@ucw.cz>
Thu, 6 Dec 2012 16:05:15 +0000 (17:05 +0100)
Previously, pci_open() sometimes crashed with ID list names
shorter than 3 characters.

lib/names-parse.c

index 58ab578e0e9f2d1775fb2f75a7ce49f74bb17155..4997b58bf6c44ab28e24ba61bb6c962cc9632d52 100644 (file)
@@ -30,7 +30,7 @@ static pci_file pci_open(struct pci_access *a)
   if (result)
     return result;
   len = strlen(a->id_file_name);
-  if (len >= 3 && memcmp(a->id_file_name + len - 3, ".gz", 3) != 0)
+  if (len < 3 || memcmp(a->id_file_name + len - 3, ".gz", 3) != 0)
     return result;
   new_name = malloc(len - 2);
   memcpy(new_name, a->id_file_name, len - 3);