From de229df09c012ed9c394a479e8bea4e9f175c4d1 Mon Sep 17 00:00:00 2001 From: Pip Cet Date: Wed, 3 Jul 2019 11:48:22 +0000 Subject: [PATCH] Don't alter shared structure in dumped purecopied hash tables. * src/fns.c (hash_table_rehash): Make sure we're operating on fresh copies of ->next, ->index, ->hash. --- src/fns.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/fns.c b/src/fns.c index 11f5dddc858..7343556ac21 100644 --- a/src/fns.c +++ b/src/fns.c @@ -4224,6 +4224,12 @@ hash_table_rehash (struct Lisp_Hash_Table *h) { ptrdiff_t size = HASH_TABLE_SIZE (h); + /* These structures may have been purecopied and shared + (bug#36447). */ + h->next = Fcopy_sequence (h->next); + h->index = Fcopy_sequence (h->index); + h->hash = Fcopy_sequence (h->hash); + /* Recompute the actual hash codes for each entry in the table. Order is still invalid. */ for (ptrdiff_t i = 0; i < size; ++i) -- 2.39.5