Fix create_collation

The xDestroy callback is not called if the sqlite3_create_collation_v2() function fails.
This commit is contained in:
gwenn 2020-11-07 11:54:59 +01:00
parent a376ae4895
commit 47ec0e1d8f

View File

@ -96,7 +96,12 @@ impl InnerConnection {
Some(free_boxed_value::<C>),
)
};
self.decode_result(r)
let res = self.decode_result(r);
// The xDestroy callback is not called if the sqlite3_create_collation_v2() function fails.
if res.is_err() {
drop(unsafe { Box::from_raw(boxed_f) });
}
res
}
fn collation_needed(