Skip to content

Unaligned ptr derefs #250

@kkysen

Description

@kkysen

rust-lang/rust#98112 adds unaligned ptr dereference checking (since unaligned refs are UB) in debug mode (-C debug-assertions), which has uncovered further unaligned ptr derefs (I'm not sure how many; it crashes on the first one):

> cargo run -- -q --threads 1 -i build/../tests/dav1d-test-data/8-bit/issues/327_tennis_2.ivf --verify dc0609b3de072db20f9759cfe1d3685e
    Finished dev [unoptimized + debuginfo] target(s) in 0.00s
     Running `target/debug/dav1d -q --threads 1 -i build/../tests/dav1d-test-data/8-bit/issues/327_tennis_2.ivf --verify dc0609b3de072db20f9759cfe1d3685e`
thread 'main' panicked at 'misaligned pointer dereference: address must be a multiple of 0x8 but is 0x7ffdaed2292c', src/lf_mask.rs:217:21

It seems this one is from ALIGN_STK_[0-9]+ macros that wrap ALIGN that I missed in #232 since they didn't use ALIGN directly. Once this one is fixed, I'll see if there are any remaining unaligned refs.

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