From 631cd6f9144fa5dd3a36480905d6edc9b5e81520 Mon Sep 17 00:00:00 2001 From: Joe Slater Date: Thu, 14 Mar 2019 12:19:24 -0700 Subject: puzzles: fix uninitialized variable compiler error In tree234.c, change a while() loop to a for() loop so that the compiler will realize we loop at least once. Signed-off-by: Joe Slater Signed-off-by: Richard Purdie --- .../puzzles/files/fix-ki-uninitialized.patch | 25 ++++++++++++++++++++++ meta/recipes-sato/puzzles/puzzles_git.bb | 1 + 2 files changed, 26 insertions(+) create mode 100644 meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch (limited to 'meta/recipes-sato') diff --git a/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch b/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch new file mode 100644 index 0000000000..7218d620ec --- /dev/null +++ b/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch @@ -0,0 +1,25 @@ +puzzles: avoid compiler unitialized variable error + +The compiler does not realize that we must go through the while() +loop at least once, so we replace it with a for() loop. + +Upstream-Status: Pending + +Signed-off-by: Joe Slater + +--- a/tree234.c ++++ b/tree234.c +@@ -326,8 +326,11 @@ static void *add234_internal(tree234 *t, + return orig_e; + } + +- n = t->root; +- while (n) { ++ /* ++ * We know t->root is not NULL. The logic ++ * to break out of this is at the end of the loop. ++ */ ++ for (n = t->root;;) { + LOG((" node %p: %p/%d \"%s\" %p/%d \"%s\" %p/%d \"%s\" %p/%d\n", + n, + n->kids[0], n->counts[0], n->elems[0], diff --git a/meta/recipes-sato/puzzles/puzzles_git.bb b/meta/recipes-sato/puzzles/puzzles_git.bb index 0766bd4ff1..59b952522d 100644 --- a/meta/recipes-sato/puzzles/puzzles_git.bb +++ b/meta/recipes-sato/puzzles/puzzles_git.bb @@ -14,6 +14,7 @@ SRC_URI = "git://git.tartarus.org/simon/puzzles.git \ file://0001-palisade-Fix-warnings-with-clang-on-arm.patch \ file://0001-Use-Wno-error-format-overflow-if-the-compiler-suppor.patch \ file://0001-pattern.c-Change-string-lenght-parameter-to-be-size_.patch \ + file://fix-ki-uninitialized.patch \ " UPSTREAM_CHECK_COMMITS = "1" -- cgit 1.2.3-korg