summaryrefslogtreecommitdiff
path: root/services/incremental
diff options
context:
space:
mode:
authorSongchun Fan <schfan@google.com>2020-03-17 12:37:07 -0700
committerSongchun Fan <schfan@google.com>2020-03-17 14:27:31 -0700
commit306b7df3f9925fe0a042da5420f7777681cfad9b (patch)
tree85aa3857964456792a6ca5c3143509735ab19e40 /services/incremental
parenteeff2cf7531f06816c168131f641f98b5fcbea81 (diff)
[incremental service] avoid nullptr dereferencing
externalListener could be nullptr. BUG: 150795871 Test: atest service.incremental_test Change-Id: I2843e1751cb1f7e9318edb05e9a8f5256ad9f3a8
Diffstat (limited to 'services/incremental')
-rw-r--r--services/incremental/IncrementalService.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/services/incremental/IncrementalService.cpp b/services/incremental/IncrementalService.cpp
index cccd01339177..44a2010dd207 100644
--- a/services/incremental/IncrementalService.cpp
+++ b/services/incremental/IncrementalService.cpp
@@ -1090,7 +1090,9 @@ bool IncrementalService::prepareDataLoader(IncrementalService::IncFsMount& ifs,
base::unique_fd(::dup(ifs.control.pendingReads)));
fsControlParcel.incremental->log.reset(base::unique_fd(::dup(ifs.control.logs)));
sp<IncrementalDataLoaderListener> listener =
- new IncrementalDataLoaderListener(*this, *externalListener);
+ new IncrementalDataLoaderListener(*this,
+ externalListener ? *externalListener
+ : DataLoaderStatusListener());
bool created = false;
auto status = mDataLoaderManager->initializeDataLoader(ifs.mountId, *dlp, fsControlParcel,
listener, &created);
@@ -1230,8 +1232,8 @@ binder::Status IncrementalService::IncrementalDataLoaderListener::onStatusChange
std::unique_lock l(incrementalService.mLock);
const auto& ifs = incrementalService.getIfsLocked(mountId);
if (!ifs) {
- LOG(WARNING) << "Received data loader status " << int(newStatus) << " for unknown mount "
- << mountId;
+ LOG(WARNING) << "Received data loader status " << int(newStatus)
+ << " for unknown mount " << mountId;
return binder::Status::ok();
}
ifs->dataLoaderStatus = newStatus;