Files
Randy Stauner 4ac2a34ced [Bug #22383] Fix inverted STR_SHARED check in rb_str_tmp_frozen_release
45a2c95d0f mistakenly rewrote

    FL_TEST_RAW(orig, STR_SHARED) && !FL_TEST_RAW(orig, STR_TMPLOCK|RUBY_FL_FREEZE)

as

    FL_TEST_RAW(orig, STR_SHARED | STR_TMPLOCK) == STR_TMPLOCK

requiring orig to not be shared, the opposite of the original
condition.  orig always shares the buffer with tmp here, so the buffer
was never given back and the string stayed shared until its next
modification copied it.  The code then read aux.shared from strings
that are not shared, where the union holds aux.capa.

This should be backported to 4.0
2026-09-25 08:48:32 -07:00
..
2022-07-21 09:42:04 -07:00
2023-01-11 13:41:41 +01:00
2025-12-10 09:49:18 -08:00
2019-12-26 20:45:12 +09:00
2022-07-21 09:42:04 -07:00
2024-06-13 18:27:02 +02:00