[OE-core] [oe-core][PATCH 1/1] puzzles: fix uninitialized variable compiler error
Joe Slater
joe.slater at windriver.com
Thu Mar 14 19:19:24 UTC 2019
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 <joe.slater at windriver.com>
---
.../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
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 0000000..7218d62
--- /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 at 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 0766bd4..59b9525 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"
--
2.7.4
More information about the Openembedded-core
mailing list