tc: fix memory leak in error path
If value passed to parse_percent was not valid, it would
leak the dynamic allocation from sscanf.
Fixes: 927e3cfb52 ("tc: B.W limits can now be specified in %.")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
parent
3da6d055d9
commit
2d603d55a8
|
|
@ -195,7 +195,7 @@ static int parse_percent_rate(char *rate, const char *str, const char *dev)
|
||||||
long dev_mbit;
|
long dev_mbit;
|
||||||
int ret;
|
int ret;
|
||||||
double perc, rate_mbit;
|
double perc, rate_mbit;
|
||||||
char *str_perc;
|
char *str_perc = NULL;
|
||||||
|
|
||||||
if (!dev[0]) {
|
if (!dev[0]) {
|
||||||
fprintf(stderr, "No device specified; specify device to rate limit by percentage\n");
|
fprintf(stderr, "No device specified; specify device to rate limit by percentage\n");
|
||||||
|
|
@ -230,6 +230,7 @@ static int parse_percent_rate(char *rate, const char *str, const char *dev)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
malf:
|
malf:
|
||||||
|
free(str_perc);
|
||||||
fprintf(stderr, "Specified rate value could not be read or is malformed\n");
|
fprintf(stderr, "Specified rate value could not be read or is malformed\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue