From 9b8d00db37da7e8d3e332cfa22e2e1fa1fe7aaa9 Mon Sep 17 00:00:00 2001 From: Gyorgy Szombathelyi Date: Wed, 24 Aug 2022 04:07:21 +0200 Subject: [PATCH] HDD: handle REQUEST SENSE with alloclen=0 --- hdd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hdd.c b/hdd.c index c5aa950..5d6a324 100644 --- a/hdd.c +++ b/hdd.c @@ -891,7 +891,9 @@ static void PKT_TestUnitReady(unsigned char *cmd, unsigned char unit) static void PKT_RequestSense(unsigned char *cmd, unsigned char unit, unsigned short bytelimit) { hdd_debugf("IDE%d: PKT_RequestSense (bufsize=%d)", unit, bytelimit); - unsigned short bufsize = MIN(bytelimit, cmd[4]); + unsigned char alloclen = cmd[4]; + if(!alloclen) alloclen = 4; + unsigned short bufsize = MIN(bytelimit, alloclen); SENSEDATA_t *sense = (SENSEDATA_t*)§or_buffer; memset(sector_buffer, 0, 16);