simplemad
simplemad copied to clipboard
Undefined behavior fix.
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.