kopia lustrzana https://github.com/Hamlib/Hamlib
Change all ackbuf in ic10.c to 64 bytes to prevent overflow
rodzic
01a8ec4ba1
commit
b9baf18f53
|
@ -152,7 +152,7 @@ static int get_ic10_if(RIG *rig, char *data)
|
||||||
*/
|
*/
|
||||||
int ic10_set_vfo(RIG *rig, vfo_t vfo)
|
int ic10_set_vfo(RIG *rig, vfo_t vfo)
|
||||||
{
|
{
|
||||||
char ackbuf[16], cmdbuf[6];
|
char ackbuf[64], cmdbuf[6];
|
||||||
int cmd_len, retval, ack_len;
|
int cmd_len, retval, ack_len;
|
||||||
char vfo_function;
|
char vfo_function;
|
||||||
|
|
||||||
|
@ -323,7 +323,7 @@ int ic10_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
|
||||||
*/
|
*/
|
||||||
int ic10_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
int ic10_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
||||||
{
|
{
|
||||||
char modebuf[6], ackbuf[16];
|
char modebuf[6], ackbuf[64];
|
||||||
int mode_len, ack_len, retval;
|
int mode_len, ack_len, retval;
|
||||||
char mode_letter;
|
char mode_letter;
|
||||||
|
|
||||||
|
@ -392,7 +392,7 @@ int ic10_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
||||||
*/
|
*/
|
||||||
int ic10_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
int ic10_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
||||||
{
|
{
|
||||||
char freqbuf[16], ackbuf[16];
|
char freqbuf[64], ackbuf[64];
|
||||||
int freq_len, ack_len, retval;
|
int freq_len, ack_len, retval;
|
||||||
unsigned char vfo_letter;
|
unsigned char vfo_letter;
|
||||||
vfo_t tvfo;
|
vfo_t tvfo;
|
||||||
|
@ -432,7 +432,7 @@ int ic10_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
||||||
*/
|
*/
|
||||||
int ic10_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
|
int ic10_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
|
||||||
{
|
{
|
||||||
char buf[6], ackbuf[16];
|
char buf[6], ackbuf[64];
|
||||||
int len, ack_len, retval;
|
int len, ack_len, retval;
|
||||||
|
|
||||||
len = sprintf(buf, "AN%c;", ant == RIG_ANT_1 ? '1' : '2');
|
len = sprintf(buf, "AN%c;", ant == RIG_ANT_1 ? '1' : '2');
|
||||||
|
@ -511,7 +511,7 @@ int ic10_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
|
||||||
*/
|
*/
|
||||||
int ic10_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
|
int ic10_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
|
||||||
{
|
{
|
||||||
char pttbuf[4], ackbuf[16];
|
char pttbuf[4], ackbuf[64];
|
||||||
int ptt_len, ack_len, retval;
|
int ptt_len, ack_len, retval;
|
||||||
unsigned char ptt_letter;
|
unsigned char ptt_letter;
|
||||||
|
|
||||||
|
@ -570,7 +570,7 @@ int ic10_get_mem(RIG *rig, vfo_t vfo, int *ch)
|
||||||
*/
|
*/
|
||||||
int ic10_set_mem(RIG *rig, vfo_t vfo, int ch)
|
int ic10_set_mem(RIG *rig, vfo_t vfo, int ch)
|
||||||
{
|
{
|
||||||
char membuf[8], ackbuf[16];
|
char membuf[8], ackbuf[64];
|
||||||
int mem_len, ack_len, retval;
|
int mem_len, ack_len, retval;
|
||||||
|
|
||||||
mem_len = sprintf(membuf, "MC %02d;", ch);
|
mem_len = sprintf(membuf, "MC %02d;", ch);
|
||||||
|
@ -670,7 +670,7 @@ int ic10_get_channel(RIG *rig, channel_t *chan)
|
||||||
|
|
||||||
int ic10_set_channel(RIG *rig, const channel_t *chan)
|
int ic10_set_channel(RIG *rig, const channel_t *chan)
|
||||||
{
|
{
|
||||||
char membuf[32], ackbuf[32];
|
char membuf[32], ackbuf[64];
|
||||||
int retval, ack_len, len, md;
|
int retval, ack_len, len, md;
|
||||||
int64_t freq;
|
int64_t freq;
|
||||||
|
|
||||||
|
@ -804,7 +804,7 @@ int ic10_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
|
||||||
*/
|
*/
|
||||||
int ic10_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
int ic10_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
||||||
{
|
{
|
||||||
char cmdbuf[4], fctbuf[16], ackbuf[16];
|
char cmdbuf[4], fctbuf[16], ackbuf[64];
|
||||||
int cmdlen, fct_len, ack_len;
|
int cmdlen, fct_len, ack_len;
|
||||||
|
|
||||||
switch (func)
|
switch (func)
|
||||||
|
@ -924,7 +924,7 @@ int ic10_get_parm(RIG *rig, setting_t parm, value_t *val)
|
||||||
*/
|
*/
|
||||||
int ic10_set_powerstat(RIG *rig, powerstat_t status)
|
int ic10_set_powerstat(RIG *rig, powerstat_t status)
|
||||||
{
|
{
|
||||||
char pwrbuf[16], ackbuf[16];
|
char pwrbuf[16], ackbuf[64];
|
||||||
int pwr_len, ack_len;
|
int pwr_len, ack_len;
|
||||||
|
|
||||||
pwr_len = sprintf(pwrbuf, "PS%c;", status == RIG_POWER_ON ? '1' : '0');
|
pwr_len = sprintf(pwrbuf, "PS%c;", status == RIG_POWER_ON ? '1' : '0');
|
||||||
|
@ -969,7 +969,7 @@ int ic10_get_powerstat(RIG *rig, powerstat_t *status)
|
||||||
*/
|
*/
|
||||||
int ic10_set_trn(RIG *rig, int trn)
|
int ic10_set_trn(RIG *rig, int trn)
|
||||||
{
|
{
|
||||||
char trnbuf[16], ackbuf[16];
|
char trnbuf[16], ackbuf[64];
|
||||||
int trn_len, ack_len;
|
int trn_len, ack_len;
|
||||||
|
|
||||||
trn_len = sprintf(trnbuf, "AI%c;", trn == RIG_TRN_RIG ? '1' : '0');
|
trn_len = sprintf(trnbuf, "AI%c;", trn == RIG_TRN_RIG ? '1' : '0');
|
||||||
|
@ -1014,7 +1014,7 @@ int ic10_get_trn(RIG *rig, int *trn)
|
||||||
*/
|
*/
|
||||||
int ic10_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
|
int ic10_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
|
||||||
{
|
{
|
||||||
char *cmd, ackbuf[16];
|
char *cmd, ackbuf[64];
|
||||||
int ack_len;
|
int ack_len;
|
||||||
|
|
||||||
switch (op)
|
switch (op)
|
||||||
|
@ -1039,7 +1039,7 @@ int ic10_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
|
||||||
*/
|
*/
|
||||||
int ic10_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch)
|
int ic10_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch)
|
||||||
{
|
{
|
||||||
char ackbuf[16];
|
char ackbuf[64];
|
||||||
int ack_len;
|
int ack_len;
|
||||||
|
|
||||||
return ic10_transaction(rig, scan == RIG_SCAN_STOP ? "SC0;" : "SC1;", 4,
|
return ic10_transaction(rig, scan == RIG_SCAN_STOP ? "SC0;" : "SC1;", 4,
|
||||||
|
|
Ładowanie…
Reference in New Issue