Fix segfault when using the dummy driver

Steps to reproduce:
tests/rigctl -m 1 \
get_parm KEYERTYPE

Fixes:
 Thread 1 "rigctl" received signal SIGSEGV, Segmentation fault.
 0x0000556aff4f890d in rigctl_get_parm (rig=<optimized out>, fout=0x7f87517f25c0 <_IO_2_1_stdout_>, fin=<optimized out>, interactive=1, prompt=1, vfo_opt=<optimized out>, send_cmd_term=13 '\r', ext_resp=0, resp_sep=10 '\n',
     cmd=0x556aff516050 <test_list+1520>, vfo=536870912, arg1=0x7ffc5985b5c0 "KEYERTYPE", arg2=0x556aff50cce8 "", arg3=0x556aff50cce8 "") at rigctl_parse.c:3947
 3947            if (strcmp(val.s, "0") == 0) {s = "STRAIGHT";}
 (gdb) bt
 #0  0x0000556aff4f890d in rigctl_get_parm (rig=<optimized out>, fout=0x7f87517f25c0 <_IO_2_1_stdout_>, fin=<optimized out>, interactive=1, prompt=1, vfo_opt=<optimized out>, send_cmd_term=13 '\r', ext_resp=0, resp_sep=10 '\n',
     cmd=0x556aff516050 <test_list+1520>, vfo=536870912, arg1=0x7ffc5985b5c0 "KEYERTYPE", arg2=0x556aff50cce8 "", arg3=0x556aff50cce8 "") at rigctl_parse.c:3947
 #1  0x0000556aff5007f6 in rigctl_parse (my_rig=<optimized out>, fin=<optimized out>, fout=<optimized out>, argv=argv@entry=0x7ffc5985d788, argc=argc@entry=3, sync_cb=sync_cb@entry=0x0, interactive=<optimized out>, prompt=<optimized out>,
     vfo_opt=<optimized out>, send_cmd_term=<optimized out>, ext_resp_ptr=<optimized out>, resp_sep_ptr=<optimized out>, use_password=<optimized out>) at rigctl_parse.c:1847
 #2  0x0000556aff4eaadc in main (argc=<optimized out>, argv=0x7ffc5985d788) at rigctl.c:801
pull/1845/head
Daniele Forsi IU5HKX 2025-08-13 16:43:32 +02:00
rodzic 3013912111
commit fb4d2c6455
1 zmienionych plików z 2 dodań i 1 usunięć

Wyświetl plik

@ -3944,7 +3944,8 @@ declare_proto_rig(get_parm)
{
const char *cs;
if (strcmp(val.cs, "0") == 0) {cs = "STRAIGHT";}
if (val.cs == NULL) {cs = "(null)";}
else if (strcmp(val.cs, "0") == 0) {cs = "STRAIGHT";}
else if (strcmp(val.cs, "1") == 0) {cs = "BUG";}
else if (strcmp(val.cs, "2") == 0) {cs = "PADDLE";}
else {cs = "UNKNOWN";}