set_fg_root: prevent circumvention of the Nasal security code through
pre-setting and write-protecting /sim/fg-root in *-set.xml files
This commit is contained in:
parent
afc5225272
commit
88839f0b7a
1 changed files with 7 additions and 2 deletions
|
@ -178,7 +178,12 @@ void FGGlobals::set_fg_root (const string &root) {
|
|||
fg_root += "/data";
|
||||
}
|
||||
|
||||
fgSetString("/sim/fg-root", fg_root.c_str());
|
||||
// remove /sim/fg-root before writing to prevent hijacking
|
||||
SGPropertyNode *n = fgGetNode("/sim", true);
|
||||
n->removeChild("fg-root", 0, false);
|
||||
n = n->getChild("fg-root", 0, true);
|
||||
n->setStringValue(fg_root.c_str());
|
||||
n->setAttribute(SGPropertyNode::WRITE, false);
|
||||
}
|
||||
|
||||
void FGGlobals::set_fg_scenery (const string &scenery) {
|
||||
|
|
Loading…
Add table
Reference in a new issue