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:
Hridya Valsaraju
2016-12-05 20:23:21 -08:00
parent 4b3d0ce2d4
commit e8650320c5

View File

@@ -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();