Upon panic in a user-provided function f, fn mutate() & fn mutate2 drops twice a same object.
Affected versions of this crate did not guard against double drop while temporarily duplicating an object's ownership with ptr::read().
Dropping a same object can result in memory corruption.
The flaw was corrected in version "0.9.11" by fixing the code to abort upon panic.
{
"github_reviewed": true,
"cwe_ids": [
"CWE-415"
],
"github_reviewed_at": "2021-08-19T18:40:39Z",
"nvd_published_at": null,
"severity": "CRITICAL"
}