pacman.c: free string commandline options
Plugs a memory leak when values were passed twice. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
4e9d88aa05
commit
e6464f0cb6
1 changed files with 5 additions and 0 deletions
|
@ -443,9 +443,11 @@ static int parsearg_global(int opt)
|
||||||
config->noprogressbar = 1;
|
config->noprogressbar = 1;
|
||||||
break;
|
break;
|
||||||
case OP_GPGDIR:
|
case OP_GPGDIR:
|
||||||
|
free(config->gpgdir);
|
||||||
config->gpgdir = strdup(optarg);
|
config->gpgdir = strdup(optarg);
|
||||||
break;
|
break;
|
||||||
case OP_LOGFILE:
|
case OP_LOGFILE:
|
||||||
|
free(config->logfile);
|
||||||
config->logfile = strndup(optarg, PATH_MAX);
|
config->logfile = strndup(optarg, PATH_MAX);
|
||||||
break;
|
break;
|
||||||
case OP_NOCONFIRM:
|
case OP_NOCONFIRM:
|
||||||
|
@ -453,10 +455,12 @@ static int parsearg_global(int opt)
|
||||||
break;
|
break;
|
||||||
case OP_DBPATH:
|
case OP_DBPATH:
|
||||||
case 'b':
|
case 'b':
|
||||||
|
free(config->dbpath);
|
||||||
config->dbpath = strdup(optarg);
|
config->dbpath = strdup(optarg);
|
||||||
break;
|
break;
|
||||||
case OP_ROOT:
|
case OP_ROOT:
|
||||||
case 'r':
|
case 'r':
|
||||||
|
free(config->rootdir);
|
||||||
config->rootdir = strdup(optarg);
|
config->rootdir = strdup(optarg);
|
||||||
break;
|
break;
|
||||||
case OP_VERBOSE:
|
case OP_VERBOSE:
|
||||||
|
@ -623,6 +627,7 @@ static int parsearg_trans(int opt)
|
||||||
break;
|
break;
|
||||||
case OP_PRINTFORMAT:
|
case OP_PRINTFORMAT:
|
||||||
config->print = 1;
|
config->print = 1;
|
||||||
|
free(config->print_format);
|
||||||
config->print_format = strdup(optarg);
|
config->print_format = strdup(optarg);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Add table
Reference in a new issue