aboutsummaryrefslogtreecommitdiff
path: root/pci-arbiter
diff options
context:
space:
mode:
Diffstat (limited to 'pci-arbiter')
-rw-r--r--pci-arbiter/pcifs.c7
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;