diff -Nur bridge-utils-1.5-old/brctl/brctl_cmd.c bridge-utils-1.5/brctl/brctl_cmd.c --- bridge-utils-1.5-old/brctl/brctl_cmd.c 2018-05-17 07:03:02.868000000 -0400 +++ bridge-utils-1.5/brctl/brctl_cmd.c 2018-05-17 07:07:26.023000000 -0400 @@ -250,11 +250,20 @@ static int br_cmd_setpathcost(int argc, char *const* argv) { int cost, err; + int temp=0; if (sscanf(argv[3], "%i", &cost) != 1) { fprintf(stderr, "bad path cost value\n"); return 1; } + while(*(argv[3]+temp)){ + if(*(argv[3]+temp)<'0'||*(argv[3]+temp)>(9+'0')){ + fprintf(stderr, "bad path cost value\n"); + return 1; + } + temp++; + } + err = br_set_path_cost(argv[1], argv[2], cost); if (err) @@ -266,11 +275,19 @@ static int br_cmd_setportprio(int argc, char *const* argv) { int cost, err; + int temp=0; if (sscanf(argv[3], "%i", &cost) != 1) { fprintf(stderr, "bad path priority value\n"); return 1; } + while(*(argv[3]+temp)){ + if(*(argv[3]+temp)<'0'||*(argv[3]+temp)>(9+'0')){ + fprintf(stderr, "bad path priority value\n"); + return 1; + } + temp++; + } err = br_set_port_priority(argv[1], argv[2], cost); if (err)