Changed the default pass through transfer length for non-media access commands to 65534 bytes instead of 8192, just in case someone tries to use a disc with an abnormal number of tracks.
This commit is contained in:
@@ -524,7 +524,7 @@ static int ioctl_get_block_length(uint8_t id, const UCHAR *cdb, int number_of_bl
|
||||
|
||||
if (no_length_check)
|
||||
{
|
||||
return 8192;
|
||||
return 65534;
|
||||
}
|
||||
|
||||
switch (cdb[0])
|
||||
@@ -590,7 +590,7 @@ common_handler:
|
||||
break;
|
||||
default:
|
||||
/* Other commands */
|
||||
return 8192;
|
||||
return 65534;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
10
src/cdrom.c
10
src/cdrom.c
@@ -1760,7 +1760,7 @@ void cdrom_command(uint8_t id, uint8_t *cdb)
|
||||
return;
|
||||
}
|
||||
|
||||
if (len == 8192)
|
||||
if (len == 65534)
|
||||
{
|
||||
max_len = cdb[8] + (cdb[7] << 8);
|
||||
len = cdbufferb[0] + (cdbufferb[1] << 8);
|
||||
@@ -2110,7 +2110,7 @@ void cdrom_command(uint8_t id, uint8_t *cdb)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (len == 8192)
|
||||
if (len == 65534)
|
||||
{
|
||||
cdbufferb[0] = 0;
|
||||
cdbufferb[1] = 32;
|
||||
@@ -2151,7 +2151,7 @@ void cdrom_command(uint8_t id, uint8_t *cdb)
|
||||
return;
|
||||
}
|
||||
|
||||
if (len == 8192)
|
||||
if (len == 65534)
|
||||
{
|
||||
cdbufferb[0] = 0;
|
||||
cdbufferb[1] = 34;
|
||||
@@ -2271,7 +2271,7 @@ void cdrom_command(uint8_t id, uint8_t *cdb)
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (len == 8192)
|
||||
if (len == 65534)
|
||||
{
|
||||
switch(cdb[3])
|
||||
{
|
||||
@@ -2562,7 +2562,7 @@ atapi_out:
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (len == 8192)
|
||||
if (len == 65534)
|
||||
{
|
||||
len = 8;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user