Correct clone logic for `Str`. v0.0.101.3
authorMatt Corallo <git@bluematt.me>
Mon, 27 Sep 2021 23:24:43 +0000 (23:24 +0000)
committerMatt Corallo <git@bluematt.me>
Mon, 27 Sep 2021 23:24:43 +0000 (23:24 +0000)
commitdde6026d418c42ca5f0030a856e1ec15a2aa4d55
treea70988e5cf44e6f7044e30e5498a522d4d734f3f
parent551090b10d5f1cc44dbd7fb635fbf33ffb5491da
Correct clone logic for `Str`.

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.
lightning-c-bindings/src/c_types/mod.rs