From a9ce7b3b11de9f8851eb928a66a0cdbae7167ed9 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 15 Jun 2022 15:14:03 -0700 Subject: [PATCH] PDP11 and VAXen: Fix transfer buffer unintended deallocation on RQ detach As reported in https://github.com/open-simh/simh/issues/12 --- PDP11/pdp11_rq.c | 2 +- sim_defs.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/PDP11/pdp11_rq.c b/PDP11/pdp11_rq.c index f5df3fca..2aa513f0 100644 --- a/PDP11/pdp11_rq.c +++ b/PDP11/pdp11_rq.c @@ -172,7 +172,7 @@ extern int32 MMR2; #define unit_plug u4 /* drive unit plug value */ #define io_status u5 /* io status from callback */ #define io_complete u6 /* io completion flag */ -#define rqxb filebuf /* xfer buffer */ +#define rqxb up11 /* xfer buffer */ #define RQ_RMV(u) ((drv_tab[GET_DTYPE (u->flags)].flgs & RQDF_RMV)? \ UF_RMV: 0) #define RQ_WPH(u) (((drv_tab[GET_DTYPE (u->flags)].flgs & RQDF_RO) || \ diff --git a/sim_defs.h b/sim_defs.h index 18f390a4..ba63d092 100644 --- a/sim_defs.h +++ b/sim_defs.h @@ -602,6 +602,7 @@ struct UNIT { void *up8; /* device specific */ uint16 us9; /* device specific */ uint16 us10; /* device specific */ + void *up11; /* device specific */ DRVTYP *drvtyp; /* Drive Type */ void *tmxr; /* TMXR linkage */ uint32 recsize; /* Tape specific info */