MenuApplets: Use unveil()

The Clock and Audio applets really only need ("/res", "r") for LibGUI.

The CPUGraph applet also needs ("/proc/all", "r") for reading the CPU
usage data. Somewhat surprisingly, this also adds ("/etc/passwd", "r")
since CProcessStatisticsReader does username lookups.
This commit is contained in:
Andreas Kling 2020-01-21 15:47:34 +01:00
parent a2ed805d23
commit 5dd5d5ca4e
3 changed files with 34 additions and 0 deletions

View file

@ -96,6 +96,13 @@ int main(int argc, char** argv)
window->set_main_widget(widget);
window->show();
if (unveil("/res", "r") < 0) {
perror("unveil");
return 1;
}
unveil(nullptr, nullptr);
if (pledge("stdio shared_buffer accept rpath", nullptr) < 0) {
perror("pledge");
return 1;

View file

@ -117,5 +117,25 @@ int main(int argc, char** argv)
auto widget = GraphWidget::construct();
window->set_main_widget(widget);
window->show();
if (unveil("/res", "r") < 0) {
perror("unveil");
return 1;
}
// FIXME: This is required by CProcessStatisticsReader.
// It would be good if we didn't depend on that.
if (unveil("/etc/passwd", "r") < 0) {
perror("unveil");
return 1;
}
if (unveil("/proc/all", "r") < 0) {
perror("unveil");
return 1;
}
unveil(nullptr, nullptr);
return app.exec();
}

View file

@ -111,5 +111,12 @@ int main(int argc, char** argv)
window->set_main_widget(widget);
window->show();
if (unveil("/res", "r") < 0) {
perror("unveil");
return 1;
}
unveil(nullptr, nullptr);
return app.exec();
}