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

Commit 93390229 authored by Bernie Innocenti's avatar Bernie Innocenti
Browse files

Fix out of bounds read in dumpsys

ResolverController::dump() could read past the end of the
ExternalPrivateDnsStatus.serverStatus if there were more than MAXNS
servers configured.

Test: atest
Change-Id: I9c20b7bfe078c9181ee008f17c411d007926df7a
parent 0a015535
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -194,7 +194,6 @@ void PrivateDnsConfiguration::getStatus(unsigned netId, ExternalPrivateDnsStatus

    const auto netPair = mPrivateDnsTransports.find(netId);
    if (netPair != mPrivateDnsTransports.end()) {
        status->numServers = static_cast<int>(netPair->second.size());
        int count = 0;
        for (const auto& serverPair : netPair->second) {
            status->serverStatus[count].ss = serverPair.first.ss;
@@ -204,6 +203,7 @@ void PrivateDnsConfiguration::getStatus(unsigned netId, ExternalPrivateDnsStatus
            count++;
            if (count >= MAXNS) break;  // Lose the rest
        }
        status->numServers = count;
    }
}