dvd_read_physical() uses a 20 char buffer to read in the dvd structure,
however the size is really 4 bytes header + 17 bytes body so layer->bca
ends up containing garbage. Kudos to the nice folks who made it a non
multiple of 4 bytes.
static int dvd_read_physical(struct cdrom_device_info *cdi, dvd_struct *s)
{
- unsigned char buf[20], *base;
+ unsigned char buf[21], *base;
struct dvd_layer *layer;
struct cdrom_generic_command cgc;
struct cdrom_device_ops *cdo = cdi->ops;