RUSTSEC-2020-0149: appendix: Data race and memory safety issue in `Index`

Description

The appendix crate implements a key-value mapping data structure called Index<K, V> that is stored on disk. The crate allows for any type to inhabit the generic K and V type parameters and implements Send and Sync for them unconditionally.

Using a type that is not marked as Send or Sync with Index can allow it to be used across multiple threads leading to data races. Additionally using reference types for the keys or values will lead to the segmentation faults in the crate's code.

More Info

https://github.com/krl/appendix/issues/6

Patched Versions