kopia lustrzana https://github.com/Hamlib/Hamlib
Fix buffer overrun in all utilities
Change MAXCONFLEN to 1024 bytes for some future proofingpull/224/head
rodzic
5773df162c
commit
ee87d5e6df
|
@ -105,7 +105,7 @@ static struct option long_options[] =
|
|||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
#define MAXCONFLEN 128
|
||||
#define MAXCONFLEN 1024
|
||||
|
||||
int interactive = 1; /* if no cmd on command line, switch to interactive */
|
||||
int prompt = 1; /* Print prompt in ampctl */
|
||||
|
@ -205,6 +205,13 @@ int main(int argc, char *argv[])
|
|||
strcat(conf_parms, ",");
|
||||
}
|
||||
|
||||
if (strlen(conf_parms) + strlen(optarg) > MAXCONFLEN - 24)
|
||||
{
|
||||
printf("Length of conf_parms exceeds internal maximum of %d\n",
|
||||
MAXCONFLEN - 24);
|
||||
return 1;
|
||||
}
|
||||
|
||||
strncat(conf_parms, optarg, MAXCONFLEN - strlen(conf_parms));
|
||||
break;
|
||||
|
||||
|
|
|
@ -111,7 +111,7 @@ const char *src_addr = NULL; /* INADDR_ANY */
|
|||
|
||||
char send_cmd_term = '\r'; /* send_cmd termination char */
|
||||
|
||||
#define MAXCONFLEN 128
|
||||
#define MAXCONFLEN 1024
|
||||
|
||||
|
||||
static void handle_error(enum rig_debug_level_e lvl, const char *msg)
|
||||
|
@ -246,6 +246,13 @@ int main(int argc, char *argv[])
|
|||
strcat(conf_parms, ",");
|
||||
}
|
||||
|
||||
if (strlen(conf_parms) + strlen(optarg) > MAXCONFLEN - 24)
|
||||
{
|
||||
printf("Length of conf_parms exceeds internal maximum of %d\n",
|
||||
MAXCONFLEN - 24);
|
||||
return 1;
|
||||
}
|
||||
|
||||
strncat(conf_parms, optarg, MAXCONFLEN - strlen(conf_parms));
|
||||
break;
|
||||
|
||||
|
|
|
@ -116,7 +116,7 @@ static struct option long_options[] =
|
|||
|
||||
};
|
||||
|
||||
#define MAXCONFLEN 128
|
||||
#define MAXCONFLEN 1024
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -366,6 +366,13 @@ int main(int argc, char *argv[])
|
|||
strcat(conf_parms, ",");
|
||||
}
|
||||
|
||||
if (strlen(conf_parms) + strlen(optarg) > MAXCONFLEN - 24)
|
||||
{
|
||||
printf("Length of conf_parms exceeds internal maximum of %d\n",
|
||||
MAXCONFLEN - 24);
|
||||
return 1;
|
||||
}
|
||||
|
||||
strncat(conf_parms, optarg, MAXCONFLEN - strlen(conf_parms));
|
||||
break;
|
||||
|
||||
|
|
|
@ -116,7 +116,7 @@ static sig_atomic_t volatile ctrl_c;
|
|||
static int volatile ctrl_c;
|
||||
#endif
|
||||
|
||||
#define MAXCONFLEN 128
|
||||
#define MAXCONFLEN 1024
|
||||
|
||||
#if 0
|
||||
# ifdef WIN32
|
||||
|
@ -406,6 +406,13 @@ int main(int argc, char *argv[])
|
|||
strcat(conf_parms, ",");
|
||||
}
|
||||
|
||||
if (strlen(conf_parms) + strlen(optarg) > MAXCONFLEN - 24)
|
||||
{
|
||||
printf("Length of conf_parms exceeds internal maximum of %d\n",
|
||||
MAXCONFLEN - 24);
|
||||
return 1;
|
||||
}
|
||||
|
||||
strncat(conf_parms, optarg, MAXCONFLEN - strlen(conf_parms));
|
||||
break;
|
||||
|
||||
|
|
|
@ -142,7 +142,7 @@ static int volatile ctrl_c;
|
|||
const char *portno = "4532";
|
||||
const char *src_addr = NULL; /* INADDR_ANY */
|
||||
|
||||
#define MAXCONFLEN 128
|
||||
#define MAXCONFLEN 1024
|
||||
|
||||
static void sync_callback(int lock)
|
||||
{
|
||||
|
@ -457,6 +457,13 @@ int main(int argc, char *argv[])
|
|||
strcat(conf_parms, ",");
|
||||
}
|
||||
|
||||
if (strlen(conf_parms) + strlen(optarg) > MAXCONFLEN - 24)
|
||||
{
|
||||
printf("Length of conf_parms exceeds internal maximum of %d\n",
|
||||
MAXCONFLEN - 24);
|
||||
return 1;
|
||||
}
|
||||
|
||||
strncat(conf_parms, optarg, MAXCONFLEN - strlen(conf_parms));
|
||||
break;
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ static struct option long_options[] =
|
|||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
#define MAXCONFLEN 128
|
||||
#define MAXCONFLEN 1024
|
||||
|
||||
int all;
|
||||
|
||||
|
@ -185,6 +185,13 @@ int main(int argc, char *argv[])
|
|||
strcat(conf_parms, ",");
|
||||
}
|
||||
|
||||
if (strlen(conf_parms) + strlen(optarg) > MAXCONFLEN - 24)
|
||||
{
|
||||
printf("Length of conf_parms exceeds internal maximum of %d\n",
|
||||
MAXCONFLEN - 24);
|
||||
return 1;
|
||||
}
|
||||
|
||||
strncat(conf_parms, optarg, MAXCONFLEN - strlen(conf_parms));
|
||||
break;
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ static struct option long_options[] =
|
|||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
#define MAXCONFLEN 128
|
||||
#define MAXCONFLEN 1024
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
|
@ -169,6 +169,13 @@ int main(int argc, char *argv[])
|
|||
strcat(rig_conf_parms, ",");
|
||||
}
|
||||
|
||||
if (strlen(rig_conf_parms) + strlen(optarg) > MAXCONFLEN - 24)
|
||||
{
|
||||
printf("Length of conf_parms exceeds internal maximum of %d\n",
|
||||
MAXCONFLEN - 24);
|
||||
return 1;
|
||||
}
|
||||
|
||||
strncat(rig_conf_parms, optarg, MAXCONFLEN - strlen(rig_conf_parms));
|
||||
break;
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ static struct option long_options[] =
|
|||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
#define MAXCONFLEN 128
|
||||
#define MAXCONFLEN 1024
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
|
@ -159,6 +159,13 @@ int main(int argc, char *argv[])
|
|||
strcat(conf_parms, ",");
|
||||
}
|
||||
|
||||
if (strlen(conf_parms) + strlen(optarg) > MAXCONFLEN - 24)
|
||||
{
|
||||
printf("Length of conf_parms exceeds internal maximum of %d\n",
|
||||
MAXCONFLEN - 24);
|
||||
return 1;
|
||||
}
|
||||
|
||||
strncat(conf_parms, optarg, MAXCONFLEN - strlen(conf_parms));
|
||||
break;
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ static struct option long_options[] =
|
|||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
#define MAXCONFLEN 128
|
||||
#define MAXCONFLEN 1024
|
||||
|
||||
/* variable for readline support */
|
||||
#ifdef HAVE_LIBREADLINE
|
||||
|
@ -210,6 +210,13 @@ int main(int argc, char *argv[])
|
|||
strcat(conf_parms, ",");
|
||||
}
|
||||
|
||||
if (strlen(conf_parms) + strlen(optarg) > MAXCONFLEN - 24)
|
||||
{
|
||||
printf("Length of conf_parms exceeds internal maximum of %d\n",
|
||||
MAXCONFLEN - 24);
|
||||
return 1;
|
||||
}
|
||||
|
||||
strncat(conf_parms, optarg, MAXCONFLEN - strlen(conf_parms));
|
||||
break;
|
||||
|
||||
|
|
|
@ -110,7 +110,7 @@ const char *src_addr = NULL; /* INADDR_ANY */
|
|||
azimuth_t az_offset;
|
||||
elevation_t el_offset;
|
||||
|
||||
#define MAXCONFLEN 128
|
||||
#define MAXCONFLEN 1024
|
||||
|
||||
|
||||
static void handle_error(enum rig_debug_level_e lvl, const char *msg)
|
||||
|
@ -243,6 +243,13 @@ int main(int argc, char *argv[])
|
|||
strcat(conf_parms, ",");
|
||||
}
|
||||
|
||||
if (strlen(conf_parms) + strlen(optarg) > MAXCONFLEN - 24)
|
||||
{
|
||||
printf("Length of conf_parms exceeds internal maximum of %d\n",
|
||||
MAXCONFLEN - 24);
|
||||
return 1;
|
||||
}
|
||||
|
||||
strncat(conf_parms, optarg, MAXCONFLEN - strlen(conf_parms));
|
||||
break;
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue