Skip to content

Unaligned ptr derefs #250

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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