From fd4a3acbad4c27de3c2685f6ef8d4214da36bfa9 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Thu, 9 Jan 2014 12:03:51 -0800 Subject: [PATCH] Avoid NULL pointer dereference when examining a device with no units. #95 --- scp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scp.c b/scp.c index 686328d9..79760db0 100644 --- a/scp.c +++ b/scp.c @@ -1185,7 +1185,7 @@ if (dptr->flags & DEV_DEBUG) { fprintf (st, "%-30s\tDisables specific debugging for device %s\n", buf, sim_dname (dptr)); } } -if ((dptr->modifiers) && (dptr->numunits != 1)) { +if ((dptr->modifiers) && (dptr->units) && (dptr->numunits != 1)) { if (dptr->units->flags & UNIT_DISABLE) { fprint_header (st, &found, header); sprintf (buf, "set %sn ENABLE", sim_dname (dptr)); @@ -1239,7 +1239,7 @@ if (dptr->flags & DEV_DEBUG) { sprintf (buf, "show %s DEBUG", sim_dname (dptr)); fprintf (st, "%-30s\tDisplays debugging status for device %s\n", buf, sim_dname (dptr)); } -if ((dptr->modifiers) && (dptr->numunits != 1)) { +if ((dptr->modifiers) && (dptr->units) && (dptr->numunits != 1)) { for (mptr = dptr->modifiers; mptr->mask != 0; mptr++) { if ((!MODMASK(mptr,MTAB_VUN)) && MODMASK(mptr,MTAB_XTD)) continue; /* skip device only modifiers */