Make sure HandleWrite() is run as root.
authorRobert Sesek <rsesek@bluestatic.org>
Sun, 13 Mar 2016 23:03:07 +0000 (19:03 -0400)
committerRobert Sesek <rsesek@bluestatic.org>
Sun, 13 Mar 2016 23:03:07 +0000 (19:03 -0400)
apple-ir-control.cc

index c92eb8054dc4100245afb9e05417507dad7b54e9..1a7186ef2bd5086e0410a956ea7e0e3367ded4ca 100644 (file)
@@ -168,6 +168,11 @@ int HandleRead() {
 }
 
 int HandleWrite(bool enable) {
+  if (geteuid() != 0) {
+    ERROR("This operation must be performed as root");
+    return EXIT_FAILURE;
+  }
+
   const CFBooleanRef enabled_value = enable ? kCFBooleanTrue : kCFBooleanFalse;
 
   CFPreferencesSetValue(kPrefEnabled, enabled_value, kPrefDomain,