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

Commit 7aafa16f authored by Joel Galenson's avatar Joel Galenson
Browse files

Fix sensorservice on integer sanitized builds.

Refactors unsigned integer overflows in cleanupImpl to fix integer
overflow sanitized builds.

Test: Compiled and checked output from sanitizer.
Bug: 30969751
Change-Id: I1c13b4b7b524d40b5732af8c36107cda9388c9ec
Merged-In: I1c13b4b7b524d40b5732af8c36107cda9388c9ec
parent 1a49778e
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -78,12 +78,13 @@ void BatteryService::cleanupImpl(uid_t uid) {
    if (checkService()) {
        Mutex::Autolock _l(mActivationsLock);
        int64_t identity = IPCThreadState::self()->clearCallingIdentity();
        for (size_t i=0 ; i<mActivations.size() ; i++) {
        for (size_t i=0 ; i<mActivations.size() ; ) {
            const Info& info(mActivations[i]);
            if (info.uid == uid) {
                mBatteryStatService->noteStopSensor(info.uid, info.handle);
                mActivations.removeAt(i);
                i--;
            } else {
              i++;
            }
        }
        IPCThreadState::self()->restoreCallingIdentity(identity);
@@ -105,4 +106,3 @@ ANDROID_SINGLETON_STATIC_INSTANCE(BatteryService)

// ---------------------------------------------------------------------------
}; // namespace android