Fix bug in GnssLocationProvider.
Perform nullptr checking correctly before calling setCallback() on gnssXtraIface. Bug: 33334137 Test: Checked no crash happens when GNSS HAL returns a null GnssXtraInfc. Change-Id: I763d96443a0a6c0f036ecfc86ac442b297560efa
This commit is contained in:
@@ -1009,12 +1009,12 @@ static jboolean android_location_GnssLocationProvider_init(JNIEnv* env, jobject
|
||||
sp<IGnssXtraCallback> gnssXtraCbIface = new GnssXtraCallback();
|
||||
if (gnssXtraIface == nullptr) {
|
||||
ALOGE("Unable to initialize GNSS Xtra interface\n");
|
||||
}
|
||||
|
||||
result = gnssXtraIface->setCallback(gnssXtraCbIface);
|
||||
if ((!result) || (!result.getStatus().isOk())) {
|
||||
gnssXtraIface = nullptr;
|
||||
ALOGE("SetCallback for Gnss Xtra Interface fails\n");
|
||||
} else {
|
||||
result = gnssXtraIface->setCallback(gnssXtraCbIface);
|
||||
if ((!result) || (!result.getStatus().isOk())) {
|
||||
gnssXtraIface = nullptr;
|
||||
ALOGE("SetCallback for Gnss Xtra Interface fails\n");
|
||||
}
|
||||
}
|
||||
|
||||
sp<IAGnssCallback> aGnssCbIface = new AGnssCallback();
|
||||
|
||||
Reference in New Issue
Block a user