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

Commit 2843ccb9 authored by Mark Punzalan's avatar Mark Punzalan
Browse files

Check for file readability in AconfigFlags

Bug: 383143057
Flag: EXEMPT addendum to minor bug fix
Test: Presubmit
Change-Id: I71d2b90842c9658a89d42a67f3696ed086bf74aa
parent abee523f
Loading
Loading
Loading
Loading
+9 −2
Original line number Original line Diff line number Diff line
@@ -80,7 +80,11 @@ public class AconfigFlags {
                    (Process.myUid() == Process.SYSTEM_UID) ? DeviceProtos.parsedFlagsProtoPaths()
                    (Process.myUid() == Process.SYSTEM_UID) ? DeviceProtos.parsedFlagsProtoPaths()
                            : Arrays.asList(DeviceProtos.PATHS);
                            : Arrays.asList(DeviceProtos.PATHS);
            for (String fileName : defaultFlagProtoFiles) {
            for (String fileName : defaultFlagProtoFiles) {
                try (var inputStream = new FileInputStream(fileName)) {
                final File protoFile = new File(fileName);
                if (!protoFile.isFile() || !protoFile.canRead()) {
                    continue;
                }
                try (var inputStream = new FileInputStream(protoFile)) {
                    loadAconfigDefaultValues(inputStream.readAllBytes());
                    loadAconfigDefaultValues(inputStream.readAllBytes());
                } catch (IOException e) {
                } catch (IOException e) {
                    Slog.w(LOG_TAG, "Failed to read Aconfig values from " + fileName, e);
                    Slog.w(LOG_TAG, "Failed to read Aconfig values from " + fileName, e);
@@ -120,6 +124,9 @@ public class AconfigFlags {


        final var settingsFile = new File(Environment.getUserSystemDirectory(0),
        final var settingsFile = new File(Environment.getUserSystemDirectory(0),
                "settings_config.xml");
                "settings_config.xml");
        if (!settingsFile.isFile() || !settingsFile.canRead()) {
            return;
        }
        try (var inputStream = new FileInputStream(settingsFile)) {
        try (var inputStream = new FileInputStream(settingsFile)) {
            TypedXmlPullParser parser = Xml.resolvePullParser(inputStream);
            TypedXmlPullParser parser = Xml.resolvePullParser(inputStream);
            if (parser.next() != XmlPullParser.END_TAG && "settings".equals(parser.getName())) {
            if (parser.next() != XmlPullParser.END_TAG && "settings".equals(parser.getName())) {
@@ -186,7 +193,7 @@ public class AconfigFlags {
                }
                }
            }
            }
        } catch (IOException | XmlPullParserException e) {
        } catch (IOException | XmlPullParserException e) {
            Slog.e(LOG_TAG, "Failed to read Aconfig values from settings_config.xml", e);
            Slog.w(LOG_TAG, "Failed to read Aconfig values from settings_config.xml", e);
        }
        }
    }
    }