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

Commit 16dcb2b4 authored by fionaxu's avatar fionaxu Committed by android-build-merger
Browse files

backport security fix: avoid set NITZ time to 2038 am: 6c2365a2 am:...

backport security fix: avoid set NITZ time to 2038 am: 6c2365a2 am: 4c10b30d am: 2e7bd47d am: a88ccfbb am: 7425e8ae am: 2f5f0f89 am: 188595ca am: bc102e54
am: 7af7734d

Change-Id: Ieb0e41efa9ac29e6b2a4b7be28718e6f92f19fc7
parents 345f1232 7af7734d
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -101,6 +101,8 @@ public class CdmaServiceStateTracker extends ServiceStateTracker {
    private static final int NITZ_UPDATE_DIFF_DEFAULT = 2000;
    private int mNitzUpdateDiff = SystemProperties.getInt("ro.nitz_update_diff",
            NITZ_UPDATE_DIFF_DEFAULT);
    /** Time stamp after 19 January 2038 is not supported under 32 bit */
    private static final int MAX_NITZ_YEAR = 2037;

    private int mRoamingIndicator;
    private boolean mIsInPrl;
@@ -1616,6 +1618,10 @@ public class CdmaServiceStateTracker extends ServiceStateTracker {
            String[] nitzSubs = nitz.split("[/:,+-]");

            int year = 2000 + Integer.parseInt(nitzSubs[0]);
            if (year > MAX_NITZ_YEAR) {
              if (DBG) loge("NITZ year: " + year + " exceeds limit, skip NITZ time update");
              return;
            }
            c.set(Calendar.YEAR, year);

            // month is 0 based!
+6 −0
Original line number Diff line number Diff line
@@ -136,6 +136,8 @@ final class GsmServiceStateTracker extends ServiceStateTracker {

    /** Boolean is true is setTimeFromNITZString was called */
    private boolean mNitzUpdatedTime = false;
    /** Time stamp after 19 January 2038 is not supported under 32 bit */
    private static final int MAX_NITZ_YEAR = 2037;

    String mSavedTimeZone;
    long mSavedTime;
@@ -1742,6 +1744,10 @@ final class GsmServiceStateTracker extends ServiceStateTracker {
            String[] nitzSubs = nitz.split("[/:,+-]");

            int year = 2000 + Integer.parseInt(nitzSubs[0]);
            if (year > MAX_NITZ_YEAR) {
              if (DBG) loge("NITZ year: " + year + " exceeds limit, skip NITZ time update");
              return;
            }
            c.set(Calendar.YEAR, year);

            // month is 0 based!