diff --git a/usr.sbin/bhyve/bhyverun.c b/usr.sbin/bhyve/bhyverun.c --- a/usr.sbin/bhyve/bhyverun.c +++ b/usr.sbin/bhyve/bhyverun.c @@ -270,7 +270,7 @@ static int topology_parse(const char *opt) { - char *cp, *str; + char *cp, *str, *tofree; if (*opt == '\0') { set_config_value("sockets", "1"); @@ -280,7 +280,7 @@ return (0); } - str = strdup(opt); + tofree = str = strdup(opt); if (str == NULL) errx(4, "Failed to allocate memory"); @@ -302,11 +302,11 @@ else set_config_value("cpus", cp); } - free(str); + free(tofree); return (0); out: - free(str); + free(tofree); return (-1); }