From f87b43897077e9edff9d5331d4cab29523a61c07 Mon Sep 17 00:00:00 2001 From: Michael Black W9MDB Date: Sun, 6 Sep 2020 23:52:48 -0500 Subject: [PATCH] Fix 32-bit overflow on rigctl reading rigctld caps values like get_level and set_level https://github.com/Hamlib/Hamlib/issues/365 (cherry picked from commit 9d542cab81f71736a7ef5a38380d8b43d2426a51) --- dummy/netrigctl.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/dummy/netrigctl.c b/dummy/netrigctl.c index 5ce284957..3507e3644 100644 --- a/dummy/netrigctl.c +++ b/dummy/netrigctl.c @@ -432,7 +432,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_get_func = strtol(buf, NULL, 0); + rs->has_get_func = strtoll(buf, NULL, 0); ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -441,7 +441,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_set_func = strtol(buf, NULL, 0); + rs->has_set_func = strtoll(buf, NULL, 0); ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -450,7 +450,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_get_level = strtol(buf, NULL, 0); + rs->has_get_level = strtoll(buf, NULL, 0); if (rs->has_get_level & RIG_LEVEL_RAWSTR) { @@ -467,7 +467,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_set_level = strtol(buf, NULL, 0); + rs->has_set_level = strtoll(buf, NULL, 0); ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -476,7 +476,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_get_parm = strtol(buf, NULL, 0); + rs->has_get_parm = strtoll(buf, NULL, 0); ret = read_string(&rig->state.rigport, buf, BUF_MAX, "\n", 1); @@ -485,7 +485,7 @@ static int netrigctl_open(RIG *rig) return (ret < 0) ? ret : -RIG_EPROTO; } - rs->has_set_parm = strtol(buf, NULL, 0); + rs->has_set_parm = strtoll(buf, NULL, 0); #if 0 gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */ @@ -526,7 +526,7 @@ static int netrigctl_open(RIG *rig) { if (strcmp(setting, "vfo_ops") == 0) { - rig->caps->vfo_ops = strtol(value, NULL, 0); + rig->caps->vfo_ops = strtoll(value, NULL, 0); rig_debug(RIG_DEBUG_TRACE, "%s: %s set to %d\n", __func__, setting, rig->caps->vfo_ops); }