[Hamlib-developer] [Hamlib/Hamlib] ff5500: Avoid segfaulting when val.cs is NULL
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: Nate B. <no...@gi...> - 2025-08-14 13:00:20
|
Branch: refs/heads/master Home: https://github.com/Hamlib/Hamlib Commit: ff5500b2d933195344cb458e689d26c58a7a5f32 https://github.com/Hamlib/Hamlib/commit/ff5500b2d933195344cb458e689d26c58a7a5f32 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: 2025-08-13 (Wed, 13 Aug 2025) Changed paths: M rigs/dummy/dummy.c Log Message: ----------- Avoid segfaulting when val.cs is NULL This is the case for BANDSELECT and KEYERTYPE. Use SNPRINTF() which deals with NULLs printing (null) and it is used with the other datatypes.. Steps to reproduce: tests/rigctl -m 1 set_parm KEYERTYPE '?' tests/rigctl -m 1 set_parm BANDSELECT 1 Fixes: Thread 1 "rigctl" received signal SIGSEGV, Segmentation fault. __strcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:302 warning: 302 ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S: File o directory non esistente (gdb) bt #0 __strcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/strcpy-sse2-unaligned.S:302 #1 0x00007f8ab4d0b7ab in dummy_set_parm (rig=0x55d19b6cab20, parm=2048, val=...) at dummy.c:1704 #2 0x000055d175b8c03d in rigctl_set_parm (rig=0x55d19b6cab20, fout=0x7f8ab4bf25c0 <_IO_2_1_stdout_>, fin=<optimized out>, interactive=<optimized out>, prompt=<optimized out>, vfo_opt=<optimized out>, send_cmd_term=13 '\r', ext_resp=0, resp_sep=10 '\n', cmd=0x55d175ba9000 <test_list+1440>, vfo=536870912, arg1=0x7ffd730281e0 "KEYERTYPE", arg2=0x7ffd730283e0 "'?'", arg3=0x55d175b9fce8 "") at rigctl_parse.c:3828 #3 0x000055d175b93756 in rigctl_parse (my_rig=<optimized out>, fin=<optimized out>, fout=<optimized out>, argv=argv@entry=0x7ffd7302a3a8, 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 #4 0x000055d175b7dadc in main (argc=<optimized out>, argv=0x7ffd7302a3a8) at rigctl.c:801 Commit: 762caa85c0eb094f0b311aaba74fe686b5e1970c https://github.com/Hamlib/Hamlib/commit/762caa85c0eb094f0b311aaba74fe686b5e1970c Author: Daniele Forsi IU5HKX <iu...@gm...> Date: 2025-08-13 (Wed, 13 Aug 2025) Changed paths: M tests/rigctl_parse.c Log Message: ----------- Remove stray char after printing value of KEYERTYPE Steps to reproduce: tests/rigctl -m 1 get_parm KEYERTYPE STRAIGHT v <-- this 'v' shouldn't be there Commit: a81aab6e116ba34fb20aaf01ae06edbe725d9bff https://github.com/Hamlib/Hamlib/commit/a81aab6e116ba34fb20aaf01ae06edbe725d9bff Author: Daniele Forsi IU5HKX <iu...@gm...> Date: 2025-08-13 (Wed, 13 Aug 2025) Changed paths: M tests/rigctl_parse.c Log Message: ----------- Return an error if the keyer type is unknown Instead of quietly doing nothing. Commit: 12ba55834370d0b314079f6a67983c11bb26a3b9 https://github.com/Hamlib/Hamlib/commit/12ba55834370d0b314079f6a67983c11bb26a3b9 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: 2025-08-13 (Wed, 13 Aug 2025) Changed paths: M tests/rigctl_parse.c Log Message: ----------- Fix segfault with set_parm KEYERTYPE Steps to reproduce: tests/rigctl -m 1 \ set_parm KEYERTYPE BUG Fixes: Thread 1 "rigctl" received signal SIGSEGV, Segmentation fault. __strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142 warning: 142 ../sysdeps/x86_64/multiarch/strlen-sse2.S: File o directory non esistente (gdb) bt #0 __strlen_sse2 () at ../sysdeps/x86_64/multiarch/strlen-sse2.S:142 #1 0x00007ffac346e300 in __printf_buffer (buf=buf@entry=0x7ffc3bcf40d0, format=0x7ffac38aef17 "%s", ap=0x7ffc3bcf4190, mode_flags=0) at ./stdio-common/vfprintf-process-arg.c:435 #2 0x00007ffac3491daf in __vsnprintf_internal (string=<optimized out>, maxlen=<optimized out>, format=<optimized out>, args=args@entry=0x7ffc3bcf4190, mode_flags=mode_flags@entry=0) at ./libio/vsnprintf.c:96 #3 0x00007ffac3469642 in __GI___snprintf (s=s@entry=0x7ffc3bcf4290 "", maxlen=maxlen@entry=32, format=format@entry=0x7ffac38aef17 "%s") at ./stdio-common/snprintf.c:31 #4 0x00007ffac370b7b9 in dummy_set_parm (rig=0x558fe1991b20, parm=2048, val=...) at dummy.c:1704 #5 0x0000558fb536afbe in rigctl_set_parm (rig=0x558fe1991b20, fout=0x7ffac35f25c0 <_IO_2_1_stdout_>, fin=<optimized out>, interactive=<optimized out>, prompt=<optimized out>, vfo_opt=<optimized out>, send_cmd_term=13 '\r', ext_resp=0, resp_sep=10 '\n', cmd=0x558fb5388000 <test_list+1440>, vfo=536870912, arg1=0x7ffc3bcf4e10 "KEYERTYPE", arg2=0x558fb537fdb1 "1", arg3=0x558fb537ece8 "") at rigctl_parse.c:3829 #6 0x0000558fb53727d6 in rigctl_parse (my_rig=<optimized out>, fin=<optimized out>, fout=<optimized out>, argv=argv@entry=0x7ffc3bcf6fd8, 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 #7 0x0000558fb535cadc in main (argc=<optimized out>, argv=0x7ffc3bcf6fd8) at rigctl.c:801 Commit: 301391211102efba2e01ecb5fbdd059a2a00071c https://github.com/Hamlib/Hamlib/commit/301391211102efba2e01ecb5fbdd059a2a00071c Author: Daniele Forsi IU5HKX <iu...@gm...> Date: 2025-08-13 (Wed, 13 Aug 2025) Changed paths: M tests/rigctl_parse.c Log Message: ----------- Make get_param read back the value passed to set_param Test case: tests/rigctl -m 1 \ set_parm KEYERTYPE BUG get_parm KEYERTYPE \ set_parm KEYERTYPE PADDLE get_parm KEYERTYPE \ set_parm KEYERTYPE STRAIGHT get_parm KEYERTYPE BUG PADDLE STRAIGHT Commit: fb4d2c6455d6cbc6b832f9bbc9365bc691e137e3 https://github.com/Hamlib/Hamlib/commit/fb4d2c6455d6cbc6b832f9bbc9365bc691e137e3 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: 2025-08-13 (Wed, 13 Aug 2025) Changed paths: M tests/rigctl_parse.c Log Message: ----------- 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 Commit: b5b9e136a14138a33c79f782b01e9e586dbc22ea https://github.com/Hamlib/Hamlib/commit/b5b9e136a14138a33c79f782b01e9e586dbc22ea Author: Daniele Forsi IU5HKX <iu...@gm...> Date: 2025-08-13 (Wed, 13 Aug 2025) Changed paths: M tests/rigctl_parse.c Log Message: ----------- Do not use strcmp() when we are going to get a RIG_PARM_* define anyway Commit: 2f2b703ccf9417ca07b7f1e54603514f89ebea31 https://github.com/Hamlib/Hamlib/commit/2f2b703ccf9417ca07b7f1e54603514f89ebea31 Author: Daniele Forsi IU5HKX <iu...@gm...> Date: 2025-08-13 (Wed, 13 Aug 2025) Changed paths: M tests/rigctl_parse.c Log Message: ----------- Handle the question mark as second argument of set_parm KEYERTYPE in rigctl Test case: tests/rigctl -m 1 \ set_parm KEYERTYPE '?' \ set_parm BANDSELECT '?' STRAIGHT BUG PADDLE BANDUNUSED BAND70CM BAND33CM BAND23CM Commit: 98f6da8ae325f7383a8b1d2a9026516aa6fcf414 https://github.com/Hamlib/Hamlib/commit/98f6da8ae325f7383a8b1d2a9026516aa6fcf414 Author: Nate Bargmann <n0...@n0...> Date: 2025-08-13 (Wed, 13 Aug 2025) Changed paths: M rigs/dummy/dummy.c M tests/rigctl_parse.c Log Message: ----------- Merge GitHub PR #1845 Compare: https://github.com/Hamlib/Hamlib/compare/4b6b5415f546...98f6da8ae325 To unsubscribe from these emails, change your notification settings at https://github.com/Hamlib/Hamlib/settings/notifications |