1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
--- programs/tncfg/tncfg.c.orig 2019-06-14 15:35:45.000000000 -0400
+++ programs/tncfg/tncfg.c 2019-08-09 20:50:45.519711644 -0400
@@ -228,14 +228,16 @@ main(int argc, char *argv[])
createdelete = SADB_X_UNPLUMBIF;
strncat(virtname, optarg, sizeof(virtname)-1);
break;
case 'V':
- strncpy(ifr.ifr_name, optarg, sizeof(ifr.ifr_name));
+ memset(ifr.ifr_name,0,sizeof(ifr.ifr_name));
+ strncpy(ifr.ifr_name, optarg, sizeof(ifr.ifr_name)-1);
break;
case 'P':
- strncpy(shc.cf_name, optarg, sizeof(shc.cf_name));
+ memset(shc.cf_name,0,sizeof(shc.cf_name));
+ strncpy(shc.cf_name, optarg, sizeof(shc.cf_name)-1);
break;
case 'l':
{
char *toolname= malloc(strlen(argv[0])
+ 10 /* update this when changing the sprintf() */
|