RUSTSEC-2020-0100: sys-info: Double free when calling `sys_info::disk_info` from multiple threads

Description

Affected versions of sys-info use a static, global, list to store temporary disk information while running. The function that cleans up this list, DFCleanup, assumes a single threaded environment and will try to free the same memory twice in a multithreaded environment.

This results in consistent double-frees and segfaults when calling sys_info::disk_info from multiple threads at once.

The issue was fixed by moving the global variable into a local scope.

Safer Alternatives:

More Info

https://github.com/FillZpp/sys-info-rs/issues/63

Patched Versions