simplemad icon indicating copy to clipboard operation
simplemad copied to clipboard

Undefined behavior fix.

Open ahwatts opened this issue 2 years ago • 0 comments

enum mad_layer has no variant with a discriminator equal to zero. Thus, using a default-initialized frame in rust causes various problems, including segfaults and inexplicable EOF errors (#31). The solution is to initialize header->layer to a valid enum mad_layer value.

This is something that should probably be fixed upstream, though I have no idea who, if anyone, is responsible for maintaining libmad, so I fixed it here since it only seems to affect Rust usage.

ahwatts avatar May 24 '23 23:05 ahwatts