From e03a5f7d5daa0fb00c32081c0e1e86781d500686 Mon Sep 17 00:00:00 2001 From: Nico Huber Date: Fri, 14 May 2021 00:39:24 +0200 Subject: libflashrom: Avoid using the global layout We used to borrow the global layout from the CLI here. Create a dynamically allocated one instead that doesn't need special treatment. Change-Id: Ic48c9e73a3d00782f638f6ff41b620910b24ab6f Signed-off-by: Nico Huber Reviewed-on: https://review.coreboot.org/c/flashrom/+/54284 Reviewed-by: Edward O'Callaghan Reviewed-by: Angel Pons Reviewed-by: Anastasia Klimchuk Tested-by: build bot (Jenkins) --- libflashrom.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libflashrom.c b/libflashrom.c index d0f94a9e..1ecf650f 100644 --- a/libflashrom.c +++ b/libflashrom.c @@ -502,15 +502,17 @@ static int flashrom_layout_parse_fmap(struct flashrom_layout **layout, int i; char name[FMAP_STRLEN + 1]; const struct fmap_area *area; - struct flashrom_layout *l = get_global_layout(); + struct flashrom_layout *l; - if (!fmap || !l) + if (!fmap || flashrom_layout_new(&l)) return 1; for (i = 0, area = fmap->areas; i < fmap->nareas; i++, area++) { snprintf(name, sizeof(name), "%s", area->name); - if (flashrom_layout_add_region(l, area->offset, area->offset + area->size - 1, name)) + if (flashrom_layout_add_region(l, area->offset, area->offset + area->size - 1, name)) { + flashrom_layout_release(l); return 1; + } } *layout = l; -- cgit v1.2.3