From: Andrew Goodbody Date: Wed, 9 Jul 2025 11:49:09 +0000 (+0100) Subject: boot: Ensure method_flags is initialised before use X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f1c03778a4be8e08decf88f6b2018b90f6662090;p=thirdparty%2Fu-boot.git boot: Ensure method_flags is initialised before use The local variable method_flags is only assigned to in some of the code paths leaving it possibly uninitialised at first use. Initialise method_flags at declaration to ensure that it cannot be used uninitialised. Also remove now redundant assignments. Signed-off-by: Andrew Goodbody --- diff --git a/boot/bootflow.c b/boot/bootflow.c index 4054a966af8..d79f303486d 100644 --- a/boot/bootflow.c +++ b/boot/bootflow.c @@ -245,7 +245,7 @@ static int iter_incr(struct bootflow_iter *iter) if (iter->flags & BOOTFLOWIF_SINGLE_DEV) { ret = -ENOENT; } else { - int method_flags; + int method_flags = 0; ret = 0; dev = iter->dev; @@ -264,7 +264,6 @@ static int iter_incr(struct bootflow_iter *iter) } else if (IS_ENABLED(CONFIG_BOOTSTD_FULL) && iter->flags & BOOTFLOWIF_SINGLE_MEDIA) { log_debug("next in single\n"); - method_flags = 0; do { /* * Move to the next bootdev child of this media @@ -296,6 +295,7 @@ static int iter_incr(struct bootflow_iter *iter) log_debug("looking for next device %s: %s\n", iter->dev->name, dev ? dev->name : ""); + method_flags = BOOTFLOW_METHF_SINGLE_UCLASS; } else { dev = NULL; } @@ -306,7 +306,6 @@ static int iter_incr(struct bootflow_iter *iter) } } else { ret = bootdev_next_prio(iter, &dev); - method_flags = 0; } } log_debug("ret=%d, dev=%p %s\n", ret, dev,