Fix potential buffer underflow in icom.c

pull/799/head
Mike Black W9MDB 2021-09-11 05:41:25 -05:00
rodzic 2706cca649
commit 6e5bc09b27
2 zmienionych plików z 9 dodań i 1 usunięć

Wyświetl plik

@ -1824,6 +1824,7 @@ int icom_set_mode_with_data(RIG *rig, vfo_t vfo, rmode_t mode,
rig_debug(RIG_DEBUG_TRACE, "%s: mode/width not changing\n", __func__); rig_debug(RIG_DEBUG_TRACE, "%s: mode/width not changing\n", __func__);
RETURNFUNC(RIG_OK); RETURNFUNC(RIG_OK);
} }
// looks like we need to change it // looks like we need to change it
switch (mode) switch (mode)
@ -8494,6 +8495,13 @@ int icom_decode_event(RIG *rig)
frm_len = retval; frm_len = retval;
if (frm_len < 1)
{
rig_debug(RIG_DEBUG_ERR, "Unexpected frame len=%d\n", frm_len);
RETURNFUNC(-RIG_EPROTO);
}
switch (buf[frm_len - 1]) switch (buf[frm_len - 1])
{ {
case COL: case COL:

Wyświetl plik

@ -30,7 +30,7 @@
#include <sys/time.h> #include <sys/time.h>
#endif #endif
#define BACKEND_VER "20210907" #define BACKEND_VER "20210911"
#define ICOM_IS_SECONDARY_VFO(vfo) ((vfo) & (RIG_VFO_B | RIG_VFO_SUB | RIG_VFO_SUB_B | RIG_VFO_MAIN_B)) #define ICOM_IS_SECONDARY_VFO(vfo) ((vfo) & (RIG_VFO_B | RIG_VFO_SUB | RIG_VFO_SUB_B | RIG_VFO_MAIN_B))
#define ICOM_GET_VFO_NUMBER(vfo) (ICOM_IS_SECONDARY_VFO(vfo) ? 0x01 : 0x00) #define ICOM_GET_VFO_NUMBER(vfo) (ICOM_IS_SECONDARY_VFO(vfo) ? 0x01 : 0x00)