This project might be open to known security vulnerabilities, which can be prevented by tightening the version range of affected dependencies. Find detailed information at the bottom.

Crate scryer-prolog

Dependencies

(13 total, 8 outdated, 1 possibly insecure)

CrateRequiredLatestStatus
 dirs^2.0.25.0.1out of date
 downcast^0.10.00.11.0out of date
 indexmap^1.0.22.2.6out of date
 lazy_static^1.4.01.4.0up to date
 libc^0.2.620.2.153up to date
 nix^0.15.00.28.0out of date
 num-rug-adapter^0.1.10.1.5up to date
 ordered-float ⚠️^0.5.04.2.0out of date
 prolog_parser^0.8.380.8.68up to date
 ref_thread_local^0.0.00.1.1out of date
 rug^1.4.01.24.0up to date
 rustyline^5.0.314.0.0out of date
 termion^1.4.03.0.0out of date

Security Vulnerabilities

ordered-float: ordered_float:NotNan may contain NaN after panic in assignment operators

RUSTSEC-2020-0082

After using an assignment operators such as NotNan::add_assign, NotNan::mul_assign, etc., it was possible for the resulting NotNan value to contain a NaN. This could cause undefined behavior in safe code, because the safe NotNan::cmp method contains internal unsafe code that assumes the value is never NaN. (It could also cause undefined behavior in third-party unsafe code that makes the same assumption, as well as logic errors in safe code.)

This was mitigated starting in version 0.4.0, by panicking if the assigned value is NaN. However, in affected versions from 0.4.0 onward, code that uses the NotNan value during unwinding, or that continues after catching the panic, could still observe the invalid value and trigger undefined behavior.

The flaw is fully corrected in versions 1.1.1 and 2.0.1, by ensuring that the assignment operators panic without modifying the operand, if the result would be NaN.