[PATCH v2 7/8] bootstrap_read_devfs(): Remove all partitions upon function completion
Andrey Smirnov
andrew.smirnov at gmail.com
Sun May 3 14:55:25 PDT 2015
Bootstrap_read_devfs does not remove the devices it creates during the
course of its execution which might be considered as a resource
leak. Remedy that by adding the code to remove those devices upon
function completion.
Signed-off-by: Andrey Smirnov <andrew.smirnov at gmail.com>
---
Changes since v1:
- Fix a compile time error that snuck in during the time the diff was
being split into multiple patches
lib/bootstrap/devfs.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/lib/bootstrap/devfs.c b/lib/bootstrap/devfs.c
index df4840e..e9bd2bb 100644
--- a/lib/bootstrap/devfs.c
+++ b/lib/bootstrap/devfs.c
@@ -99,7 +99,7 @@ void* bootstrap_read_devfs(char *devname, bool use_bb, int offset,
bootstrap_err(
"%s: failed to add bad block aware partition (%d)\n",
devname, ret);
- goto exit;
+ goto delete_devfs_partition;
}
partname = "bbx";
@@ -138,6 +138,14 @@ free_memory:
free(header);
if (!result)
free(to);
-exit:
+
+ if (use_bb) {
+ dev_remove_bb_dev(partname);
+ partname = "x";
+ }
+
+delete_devfs_partition:
+ devfs_del_partition(partname);
+
return result;
}
--
2.1.4
More information about the barebox
mailing list