Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d24c8f8 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Check setegid() return values"

parents 3b508937 0506b18a
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -251,7 +251,10 @@ static void make_device(const char *path,
     * some device nodes, so the uid has to be set with chown() and is still
     * racy. Fixing the gid race at least fixed the issue with system_server
     * opening dynamic input devices under the AID_INPUT gid. */
    setegid(gid);
    if (setegid(gid)) {
        PLOG(ERROR) << "setegid(" << gid << ") for " << path << " device failed";
        goto out;
    }
    /* If the node already exists update its SELinux label to handle cases when
     * it was created with the wrong context during coldboot procedure. */
    if (mknod(path, mode, dev) && (errno == EEXIST) && secontext) {
@@ -273,7 +276,9 @@ static void make_device(const char *path,

out:
    chown(path, uid, -1);
    setegid(AID_ROOT);
    if (setegid(AID_ROOT)) {
        PLOG(FATAL) << "setegid(AID_ROOT) failed";
    }

    if (secontext) {
        freecon(secontext);