summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2023-03-03 19:13:03 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2023-03-03 19:13:03 -0500
commitadc04ad52474113e5a540b33fbefd389b861a89f (patch)
tree87974bba339a346947db90e0af131ab56bfd5a1a /src
parentb3e930d328e2e9a3da4bf5b6c109928532326c06 (diff)
downloademacs-adc04ad52474113e5a540b33fbefd389b861a89f.tar.gz
* src/intervals.c (set_intervals_multibyte_1): Fix bug#61887
When `total_length` is 0 there should be no subtree at all, but `delete_interval` only deletes one interval, so make sure we don't end up with some stale child of `i`.
Diffstat (limited to 'src')
-rw-r--r--src/intervals.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/intervals.c b/src/intervals.c
index 75e37a8c90c..ee976fb1035 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -2333,6 +2333,9 @@ set_intervals_multibyte_1 (INTERVAL i, bool multi_flag,
if (TOTAL_LENGTH (i) == 0)
{
+ /* Delete the whole subtree. */
+ i->left = NULL;
+ i->right = NULL;
delete_interval (i);
return;
}