Previously we'd blindly clone'd the fields, which, if
data_is_owned is set, will always result in a a double-free.
Instead, we always clone the underlying bytes, setting
data_is_owned on the returned value since its likely the caller
wants to hold onto the string outside of the current context.
Previously we'd blindly clone'd the fields, which, if
data_is_owned
is set, will always result in a a double-free.Instead, we always clone the underlying bytes, setting
data_is_owned
on the returned value since its likely the caller wants to hold onto the string outside of the current context.