libcpp: Make static checkers happy about makeuname2c [PR106778]
authorJakub Jelinek <jakub@redhat.com>
Wed, 31 Aug 2022 08:22:36 +0000 (10:22 +0200)
committerJakub Jelinek <jakub@redhat.com>
Wed, 31 Aug 2022 08:22:36 +0000 (10:22 +0200)
The assertion ensures that we point within the image and at a byte
we haven't touched yet (or at least that it isn't the first byte
of an already stored tree), some static checker was unhappy about
first checking that it is zero and only afterwards checking that it
is within bounds.

2022-08-31  Jakub Jelinek  <jakub@redhat.com>

PR preprocessor/106778
* makeuname2c.cc (write_nodes): Reverse order of && operands in
assert.

libcpp/makeuname2c.cc

index f27e010..2b3c708 100644 (file)
@@ -451,7 +451,7 @@ write_nodes (struct node *n, size_t off)
 {
   for (; n; n = n->sibling)
     {
-      assert (tree[off] == 0 && off < tree_size);
+      assert (off < tree_size && tree[off] == 0);
       if (n->key_len > 1)
        {
          assert (n->key_len < 64);