From 06e999b8c559291cf937aa3b44074726155999a8 Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Sun, 1 Jan 2023 22:23:44 +0100 Subject: [PATCH] Check whether serial_serno is not NULL before calling it. For devices connected through a real serial device rather than USB, there is no transport-layer serial number available. stk500v2.c (and jtag3.c) tried to always call this function. Closes #1254 --- NEWS | 1 + src/jtag3.c | 3 ++- src/stk500v2.c | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 4912a530..810379b0 100644 --- a/NEWS +++ b/NEWS @@ -122,6 +122,7 @@ Changes since version 7.0: - megaAVR JTAG programming doesn't work for SNAP and PICkit4 #1052 - urclock/FTDI communication issues #1245 + - stk500v2.c dumps core on open #1254 * Pull requests: diff --git a/src/jtag3.c b/src/jtag3.c index 49cee6f4..36aed4f0 100644 --- a/src/jtag3.c +++ b/src/jtag3.c @@ -1570,7 +1570,8 @@ int jtag3_open_common(PROGRAMMER *pgm, const char *port) { } // Get USB serial number - pgm->usbsn = serial_serno(); + if (serial_serno) + pgm->usbsn = serial_serno(); /* * drain any extraneous input diff --git a/src/stk500v2.c b/src/stk500v2.c index e5f360f7..095b3248 100644 --- a/src/stk500v2.c +++ b/src/stk500v2.c @@ -1579,7 +1579,8 @@ static int stk500v2_open(PROGRAMMER *pgm, const char *port) { } // Get USB serial number - pgm->usbsn = serial_serno(); + if (serial_serno) + pgm->usbsn = serial_serno(); /* * drain any extraneous input