summaryrefslogtreecommitdiffstats
path: root/meta/recipes-sato/puzzles/files/fix-ki-uninitialized.patch
blob: 7218d620ec1f60b9824033843127164e9cb16254 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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],