diff options
-rw-r--r-- | meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch | 25 | ||||
-rw-r--r-- | meta/recipes-sato/puzzles/puzzles_git.bb | 1 |
2 files changed, 26 insertions, 0 deletions
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 <joe.slater@windriver.com> + +--- 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" |