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

Commit 05554a4e authored by Andy McFadden's avatar Andy McFadden
Browse files

Fix start-time setreuid complaints.

The code was checking errno instead of the return value from the call.
This fixes calls to setreuid(), setregid(), and setpgid().

Bug 3131052

Change-Id: I8b6155bd4fa9b941895b35fed62cfc163b420fff
parent 58f750ad
Loading
Loading
Loading
Loading
+12 −23
Original line number Original line Diff line number Diff line
@@ -45,15 +45,11 @@ namespace android {
static jint com_android_internal_os_ZygoteInit_setreuid(
static jint com_android_internal_os_ZygoteInit_setreuid(
    JNIEnv* env, jobject clazz, jint ruid, jint euid)
    JNIEnv* env, jobject clazz, jint ruid, jint euid)
{
{
    int err;
    if (setreuid(ruid, euid) < 0) {

    errno = 0;
    err = setreuid(ruid, euid);

    //LOGI("setreuid(%d,%d) err %d errno %d", ruid, euid, err, errno);

        return errno;
        return errno;
    }
    }
    return 0;
}


/*
/*
 * In class com.android.internal.os.ZygoteInit:
 * In class com.android.internal.os.ZygoteInit:
@@ -62,15 +58,11 @@ static jint com_android_internal_os_ZygoteInit_setreuid(
static jint com_android_internal_os_ZygoteInit_setregid(
static jint com_android_internal_os_ZygoteInit_setregid(
    JNIEnv* env, jobject clazz, jint rgid, jint egid)
    JNIEnv* env, jobject clazz, jint rgid, jint egid)
{
{
    int err;
    if (setregid(rgid, egid) < 0) {

    errno = 0;
    err = setregid(rgid, egid);

    //LOGI("setregid(%d,%d) err %d errno %d", rgid, egid, err, errno);

        return errno;
        return errno;
    }
    }
    return 0;
}


/*
/*
 * In class com.android.internal.os.ZygoteInit:
 * In class com.android.internal.os.ZygoteInit:
@@ -79,14 +71,11 @@ static jint com_android_internal_os_ZygoteInit_setregid(
static jint com_android_internal_os_ZygoteInit_setpgid(
static jint com_android_internal_os_ZygoteInit_setpgid(
    JNIEnv* env, jobject clazz, jint pid, jint pgid)
    JNIEnv* env, jobject clazz, jint pid, jint pgid)
{
{
    int err;
    if (setpgid(pid, pgid) < 0) {

    errno = 0;

    err = setpgid(pid, pgid);

        return errno;
        return errno;
    }
    }
    return 0;
}


/*
/*
 * In class com.android.internal.os.ZygoteInit:
 * In class com.android.internal.os.ZygoteInit: