From 12b4dda856217cc60c6b392d4c5274a91e398198 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Sat, 14 Aug 2021 17:56:32 -0500 Subject: [PATCH] Add a check in flrig to protect strdup from a NULL pointer https://github.com/Hamlib/Hamlib/issues/765 --- rigs/dummy/flrig.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c index c4ea99fdf..14e1a3279 100644 --- a/rigs/dummy/flrig.c +++ b/rigs/dummy/flrig.c @@ -144,7 +144,7 @@ const struct rig_caps flrig_caps = RIG_MODEL(RIG_MODEL_FLRIG), .model_name = "FLRig", .mfg_name = "FLRig", - .version = "202100721", + .version = "202100814", .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_TRANSCEIVER, @@ -1414,7 +1414,13 @@ static int flrig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width) } // Set the mode - ttmode = strdup(modeMapGetFLRig(mode)); + if (modeMapGetFLRig(mode)) { + ttmode = strdup(modeMapGetFLRig(mode)); + } + else { + rig_debug(RIG_DEBUG_ERR, "%s: modeMapGetFlRig failed on mode=%d\n", __func__, (int)mode); + RETURNFUNC(-RIG_EINVAL); + } rig_debug(RIG_DEBUG_TRACE, "%s: got ttmode = %s\n", __func__, ttmode == NULL ? "NULL" : ttmode);