Remove risky char *

This commit is contained in:
Eelco Dolstra 2021-09-23 12:07:50 +02:00
parent 198fa786a1
commit 60642aa5e2

View file

@ -1835,7 +1835,7 @@ void LocalDerivationGoal::runChild()
/* Fill in the arguments. */ /* Fill in the arguments. */
Strings args; Strings args;
const char *builder = "invalid"; std::string builder = "invalid";
if (drv->isBuiltin()) { if (drv->isBuiltin()) {
; ;
@ -1961,13 +1961,13 @@ void LocalDerivationGoal::runChild()
} }
args.push_back(drv->builder); args.push_back(drv->builder);
} else { } else {
builder = drv->builder.c_str(); builder = drv->builder;
args.push_back(std::string(baseNameOf(drv->builder))); args.push_back(std::string(baseNameOf(drv->builder)));
} }
} }
#else #else
else { else {
builder = drv->builder.c_str(); builder = drv->builder;
args.push_back(std::string(baseNameOf(drv->builder))); args.push_back(std::string(baseNameOf(drv->builder)));
} }
#endif #endif
@ -2023,9 +2023,9 @@ void LocalDerivationGoal::runChild()
posix_spawnattr_setbinpref_np(&attrp, 1, &cpu, NULL); posix_spawnattr_setbinpref_np(&attrp, 1, &cpu, NULL);
} }
posix_spawn(NULL, builder, NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data()); posix_spawn(NULL, builder.c_str(), NULL, &attrp, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
#else #else
execve(builder, stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data()); execve(builder.c_str(), stringsToCharPtrs(args).data(), stringsToCharPtrs(envStrs).data());
#endif #endif
throw SysError("executing '%1%'", drv->builder); throw SysError("executing '%1%'", drv->builder);