grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] util: mkimage, fix gcc5 build failure


From: Jiri Slaby
Subject: [PATCH] util: mkimage, fix gcc5 build failure
Date: Thu, 12 Feb 2015 11:02:09 +0100

gcc5 reports:
../util/mkimage.c: In function 'grub_install_get_image_target':
../util/mkimage.c:954:5: error: loop exit may only be reached after undefined 
behavior [-Werror=aggressive-loop-optimizations]
     && j < ARRAY_SIZE (image_targets[i].names); j++)
     ^
../util/mkimage.c:953:39: note: possible undefined statement is here
      for (j = 0; image_targets[i].names[j]
                                        ^

Well, let's move the index 'j' test before accesing the array to:
1) make the loop obvious
2) make gcc happy

Signed-off-by: Jiri Slaby <address@hidden>
---
 util/mkimage.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/util/mkimage.c b/util/mkimage.c
index bccd70388afa..7821dc5eaf11 100644
--- a/util/mkimage.c
+++ b/util/mkimage.c
@@ -937,8 +937,8 @@ grub_install_get_image_target (const char *arg)
 {
   unsigned i, j;
   for (i = 0; i < ARRAY_SIZE (image_targets); i++)
-    for (j = 0; image_targets[i].names[j]
-          && j < ARRAY_SIZE (image_targets[i].names); j++)
+    for (j = 0; j < ARRAY_SIZE (image_targets[i].names) &&
+                   image_targets[i].names[j]; j++)
       if (strcmp (arg, image_targets[i].names[j]) == 0)
        return &image_targets[i];
   return NULL;
-- 
2.2.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]