This commit is contained in:
OBattler
2024-08-23 06:21:36 +02:00
2 changed files with 5 additions and 2 deletions

View File

@@ -35,7 +35,7 @@
typedef struct opti5x7_t {
uint8_t idx;
uint8_t is_pci;
uint8_t regs[16];
uint8_t regs[18];
} opti5x7_t;
#ifdef ENABLE_OPTI5X7_LOG
@@ -158,7 +158,7 @@ opti5x7_read(uint16_t addr, void *priv)
{
const opti5x7_t *dev = (opti5x7_t *) priv;
return (addr == 0x24) ? dev->regs[dev->idx] : 0xff;
return ((addr == 0x24) && (dev->idx < sizeof(dev->regs))) ? dev->regs[dev->idx] : 0xff;
}
static void

View File

@@ -1513,6 +1513,7 @@ gdbstub_client_thread(void *priv)
case '$': /* packet start */
/* Wait for any existing packets to be processed. */
thread_wait_event(client->processed_event, -1);
thread_set_event(client->processed_event);
client->packet_pos = 0;
break;
@@ -1530,6 +1531,7 @@ gdbstub_client_thread(void *priv)
case 0x03: /* break */
/* Wait for any existing packets to be processed. */
thread_wait_event(client->processed_event, -1);
thread_set_event(client->processed_event);
/* Break immediately. */
gdbstub_log("GDB Stub: Break requested\n");
@@ -1539,6 +1541,7 @@ gdbstub_client_thread(void *priv)
default:
/* Wait for any existing packets to be processed, just in case. */
thread_wait_event(client->processed_event, -1);
thread_set_event(client->processed_event);
if (client->packet_pos < (sizeof(client->packet) - 1)) {
/* Append byte to the packet. */