diff -uNr netmgmt-1.0.4/tools/netmgr/main.c netmgmt-1.0.4-new/tools/netmgr/main.c
--- netmgmt-1.0.4/tools/netmgr/main.c 2016-07-28 19:22:38.000000000 +0000
+++ netmgmt-1.0.4-new/tools/netmgr/main.c 2016-08-16 23:01:51.304430149 +0000
@@ -470,7 +470,7 @@
size_t i = 0, count = 0;
NET_DNS_MODE mode;
char *s1, *s2, **szDnsServersList = NULL;
- char szDnsServers[1024];
+ char *szDnsServers = NULL;
if(!pCmdArgs)
{
@@ -503,7 +503,8 @@
bail_on_error(err);
}
- strcpy(szDnsServers, pCmdArgs->ppszCmds[3]);
+ err = netmgr_alloc_string(pCmdArgs->ppszCmds[3], &szDnsServers);
+ bail_on_error(err);
if (strlen(szDnsServers) > 0)
{
s2 = pCmdArgs->ppszCmds[3];
@@ -549,6 +550,7 @@
}
netmgr_free(szDnsServersList);
}
+ netmgr_free(szDnsServers);
return err;
error:
@@ -648,7 +650,7 @@
int add_servers = 0;
NET_DNS_MODE mode = DNS_MODE_INVALID;
char *s1, *s2, **szDnsServersList = NULL;
- char szServers[2048];
+ char *szServers = NULL;
if(!pCmdArgs || (pCmdArgs->argc < 3))
{
@@ -692,7 +694,8 @@
break;
case 0:
/* --servers option */
- strcpy(szServers, optarg);
+ err = netmgr_alloc_string(optarg, &szServers);
+ bail_on_error(err);
if (strlen(szServers) > 0)
{
s2 = szServers;
@@ -794,6 +797,7 @@
}
netmgr_free(szDnsServersList);
}
+ netmgr_free(szServers);
return err;
error: