diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2023-05-14 18:51:23 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2023-05-14 19:28:13 -0700 |
commit | 919e1b81a4a8ff95c36a0639fa5a5c86f8759f2e (patch) | |
tree | 6c4e51f2a2427db599e0de1a53fd21e1abe8d597 | |
parent | 0c11c2ae71fcc03d98b35384d6c70e6d7454ba90 (diff) | |
download | emacs-919e1b81a4a8ff95c36a0639fa5a5c86f8759f2e.tar.gz |
Pacify GCC 13 -Wnull-dereference in itree.c
* src/itree.c (itree_remove_fix): Simplify code and remove a
couple of eassume calls. This works around GCC bug 109586.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109856
-rw-r--r-- | src/itree.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/itree.c b/src/itree.c index bd3e62a374a..ecf7d67422a 100644 --- a/src/itree.c +++ b/src/itree.c @@ -817,14 +817,13 @@ itree_remove_fix (struct itree_tree *tree, { struct itree_node *other = parent->right; - if (null_safe_is_red (other)) /* case 1.a */ + if (other->red) /* case 1.a */ { other->red = false; parent->red = true; itree_rotate_left (tree, parent); other = parent->right; } - eassume (other != NULL); if (null_safe_is_black (other->left) /* 2.a */ && null_safe_is_black (other->right)) @@ -855,14 +854,13 @@ itree_remove_fix (struct itree_tree *tree, { struct itree_node *other = parent->left; - if (null_safe_is_red (other)) /* 1.b */ + if (other->red) /* 1.b */ { other->red = false; parent->red = true; itree_rotate_right (tree, parent); other = parent->left; } - eassume (other != NULL); if (null_safe_is_black (other->right) /* 2.b */ && null_safe_is_black (other->left)) |