1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-28 17:51:15 +02:00

Fix a crash in DerivedPath::Built::toJSON() with impure derivations

The use of 'nullptr' here didn't result in a null JSON value, but in a
nullptr being cast to a string, which aborts.
This commit is contained in:
Eelco Dolstra 2022-12-15 16:00:46 +01:00
parent 5d77c08858
commit 0687e16c4a
2 changed files with 6 additions and 4 deletions

View file

@ -20,11 +20,12 @@ nlohmann::json DerivedPath::Built::toJSON(ref<Store> store) const {
// Fallback for the input-addressed derivation case: We expect to always be
// able to print the output paths, so lets do it
const auto knownOutputs = store->queryPartialDerivationOutputMap(drvPath);
for (const auto& output : outputs) {
for (const auto & output : outputs) {
auto knownOutput = get(knownOutputs, output);
res["outputs"][output] = (knownOutput && *knownOutput)
? store->printStorePath(**knownOutput)
: nullptr;
if (knownOutput && *knownOutput)
res["outputs"][output] = store->printStorePath(**knownOutput);
else
res["outputs"][output] = nullptr;
}
return res;
}