Skip to content

itoa use of mem::uninitialized before 1.0.0 #1404

@pinkforest

Description

@pinkforest

97,514,713 downloads all time, ~200k a day which ~80k old < 1 versions

@saethlin raised this earlier too - #1194 but more general discussion

I'm framing this issue on itoa crate issue -

I have some doubts that raising advisory would be too noisy as of right now as a transitive dep but just making the issue

plus @Nilstrieb @RalfJung @5225225 and @dtolnay as you've been across this as well ..

Should we raise informational = "notice" on itoa < 1.0.0 ... at some stage ?

To get the rest of the deps bump as there is actionable fix ?

Also maybe not now but e.g. after perhaps csv - it's largest user/s has/ve bumped up ?

csv (~50k downloads a day) is the most important user stuck on 0.4.8 issue open here:
BurntSushi/rust-csv#271

As itoa is not going to get backport and plenty people still using the old
dtolnay/itoa#36

Interestingly enough @RalfJung commented: BurntSushi/rust-csv#271 (comment)

Status update on that: latest rustc nightly mitigates that UB by making mem::uninitiailized actually initialize the memory, which makes it slower. That means users of itoa 0.4 will see a performance degradation.

Other users of old num-format, serde_prometheus, lopdf, yarte_helpers, itoap, varisat-dimacs, json_in_type, plenty others

It would be nice if someone does outreach to these other crates

Ralf was quick - bcmyers/num-format#29 - however num-format seems unmaintained

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions