Skip to content

Commit 69edc86

Browse files
committed
ATRONIX: Copy the whole union in the series
On 64-bit systems, "size" is 32-bit long, and the anonymous union is 64-bit long, just copying "size" in Prop_Series is not enough. Adding a new field "all" in the union for this purpose. This fixes a crash appending a value to a map!. Because the map! uses "series" in the union, and Prop_Series only copies half of it (by copying the "size" member), later access to "series" results in a segment fault (cherry picked from commit d7a6524)
1 parent 2894800 commit 69edc86

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/core/m-pools.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ const REBPOOLSPEC Mem_Pool_Spec[MAX_POOLS] =
567567
***********************************************************************/
568568
{
569569
newser->info = oldser->info;
570-
newser->size = oldser->size;
570+
newser->all = oldser->all;
571571
#ifdef SERIES_LABELS
572572
newser->label = oldser->label;
573573
#endif

0 commit comments

Comments
 (0)