diff options
Diffstat (limited to 'pci-arbiter')
-rw-r--r-- | pci-arbiter/pcifs.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/pci-arbiter/pcifs.c b/pci-arbiter/pcifs.c index aaee7f0b..d19fc618 100644 --- a/pci-arbiter/pcifs.c +++ b/pci-arbiter/pcifs.c @@ -115,7 +115,6 @@ init_file_system (file_t underlying_node, struct pcifs * fs) fs->entries = calloc (1, sizeof (struct pcifs_dirent)); if (!fs->entries) { - free (fs->entries); return ENOMEM; } @@ -189,6 +188,12 @@ create_fs_tree (struct pcifs * fs) pci_iterator_destroy(iter); + if (nentries == 1) + { + /* No devices found, no need to continue */ + return 0; + } + list = realloc (fs->entries, nentries * sizeof (struct pcifs_dirent)); if (!list) return ENOMEM; |