svn commit: r327573 - head/usr.sbin/efibootmgr

Warner Losh imp at FreeBSD.org
Fri Jan 5 07:09:22 UTC 2018


Author: imp
Date: Fri Jan  5 07:09:19 2018
New Revision: 327573
URL: https://svnweb.freebsd.org/changeset/base/327573

Log:
  Free options before setting them. This will prevent us from leaking
  memory when we have multiple copies of the same option from being
  specified.
  
  Sponsored by: Netflix

Modified:
  head/usr.sbin/efibootmgr/efibootmgr.c

Modified: head/usr.sbin/efibootmgr/efibootmgr.c
==============================================================================
--- head/usr.sbin/efibootmgr/efibootmgr.c	Fri Jan  5 07:09:09 2018	(r327572)
+++ head/usr.sbin/efibootmgr/efibootmgr.c	Fri Jan  5 07:09:19 2018	(r327573)
@@ -217,6 +217,7 @@ parse_args(int argc, char *argv[])
 			opts.dry_run = true;
 			break;
 		case 'e':
+			free(opts.env);
 			opts.env = strdup(optarg);
 			break;
 		case 'h':
@@ -224,12 +225,15 @@ parse_args(int argc, char *argv[])
 			errx(1, "%s", USAGE);
 			break;
 		case 'k':
+			free(opts.kernel);
 			opts.kernel = strdup(optarg);
 			break;
 		case 'L':
+			free(opts.label);
 			opts.label = strdup(optarg);
 			break;
 		case 'l':
+			free(opts.loader);
 			opts.loader = strdup(optarg);
 			opts.loader = mangle_loader(opts.loader);
 			break;
@@ -244,6 +248,7 @@ parse_args(int argc, char *argv[])
 			opts.once = true;
 			break;
 		case 'o':
+			free(opts.order);
 			opts.order = strdup(optarg);
 			break;
 		case 'T':


More information about the svn-src-head mailing list