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

Commit 334c04e2 authored by gcondra@google.com's avatar gcondra@google.com Committed by Android Git Automerger
Browse files

am bb1a6244: Merge "Fix an NPE and fd leak in SELinux policy updater." into jb-mr2-dev

* commit 'bb1a6244':
  Fix an NPE and fd leak in SELinux policy updater.
parents 0b30ad53 bb1a6244
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -94,11 +94,15 @@ public class SELinuxPolicyInstallReceiver extends ConfigUpdateInstallReceiver {

    private void unpackBundle() throws IOException {
        BufferedInputStream stream = new BufferedInputStream(new FileInputStream(updateContent));
        try {
            int[] chunkLengths = readChunkLengths(stream);
            installFile(new File(updateDir, seappContextsPath), stream, chunkLengths[0]);
            installFile(new File(updateDir, propertyContextsPath), stream, chunkLengths[1]);
            installFile(new File(updateDir, fileContextsPath), stream, chunkLengths[2]);
            installFile(new File(updateDir, sepolicyPath), stream, chunkLengths[3]);
        } finally {
            IoUtils.closeQuietly(stream);
        }
    }

    private void applyUpdate() throws IOException, ErrnoException {
@@ -124,10 +128,10 @@ public class SELinuxPolicyInstallReceiver extends ConfigUpdateInstallReceiver {
    private void setEnforcingMode(Context context) {
        String mode = Settings.Global.getString(context.getContentResolver(),
            Settings.Global.SELINUX_STATUS);
        if (mode.equals("1")) {
        if ("1".equals(mode)) {
            Slog.i(TAG, "Setting enforcing mode");
            SystemProperties.set("persist.selinux.enforcing", mode);
        } else if (mode.equals("0")) {
        } else if ("0".equals(mode)) {
            Slog.i(TAG, "Tried to set permissive mode, ignoring");
        } else {
            Slog.e(TAG, "Got invalid enforcing mode: " + mode);