kopia lustrzana https://github.com/Hamlib/Hamlib
Fix errors in error cases
Leak FDs in error exits, seg faults if RIG missing. Found by `gcc -fanalyzer`pull/1834/head
rodzic
96bc67d993
commit
1e5adb9fde
|
@ -971,8 +971,7 @@ int ft100_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
||||||
{
|
{
|
||||||
|
|
||||||
int ret;
|
int ret;
|
||||||
int split = CACHE(rig)->split;
|
int split, ptt;
|
||||||
int ptt = CACHE(rig)->ptt;
|
|
||||||
|
|
||||||
FT100_METER_INFO ft100_meter;
|
FT100_METER_INFO ft100_meter;
|
||||||
|
|
||||||
|
@ -980,6 +979,9 @@ int ft100_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
||||||
|
|
||||||
if (!val) { return -RIG_EINVAL; }
|
if (!val) { return -RIG_EINVAL; }
|
||||||
|
|
||||||
|
split = CACHE(rig)->split;
|
||||||
|
ptt = CACHE(rig)->ptt;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: %s\n", __func__, rig_strlevel(level));
|
rig_debug(RIG_DEBUG_VERBOSE, "%s: %s\n", __func__, rig_strlevel(level));
|
||||||
|
|
||||||
// if in split have to switch to VFOB to read power and back to VFOA
|
// if in split have to switch to VFOB to read power and back to VFOA
|
||||||
|
|
|
@ -198,7 +198,7 @@ gs232_rot_set_position(ROT *rot, azimuth_t az, elevation_t el)
|
||||||
static int
|
static int
|
||||||
gs232_rot_get_position(ROT *rot, azimuth_t *az, elevation_t *el)
|
gs232_rot_get_position(ROT *rot, azimuth_t *az, elevation_t *el)
|
||||||
{
|
{
|
||||||
char posbuf[32];
|
char posbuf[BUFSZ];
|
||||||
// these really shouldn't be static but it's fixing faulty firmware -- see below
|
// these really shouldn't be static but it's fixing faulty firmware -- see below
|
||||||
static int expected = 12;
|
static int expected = 12;
|
||||||
static int expected_flag = 0;
|
static int expected_flag = 0;
|
||||||
|
|
|
@ -1348,7 +1348,7 @@ int is_wireless()
|
||||||
static void *multicast_receiver(void *arg)
|
static void *multicast_receiver(void *arg)
|
||||||
{
|
{
|
||||||
char data[4096];
|
char data[4096];
|
||||||
char ip4[INET6_ADDRSTRLEN];
|
char ip4[INET6_ADDRSTRLEN] = "";
|
||||||
|
|
||||||
struct multicast_receiver_args_s *args = (struct multicast_receiver_args_s *)
|
struct multicast_receiver_args_s *args = (struct multicast_receiver_args_s *)
|
||||||
arg;
|
arg;
|
||||||
|
|
|
@ -1266,6 +1266,8 @@ HAMLIB_EXPORT(int) rig_settings_load_all(char *settings_file)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fclose(fp);
|
||||||
|
|
||||||
return RIG_OK;
|
return RIG_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue