power/stats: Return exception codes on error
Bug: 182406354
Bug: 181598864
Test: Presubmit
Change-Id: I00d359ce400d52e774ea43f1330b85775414f88c
diff --git a/power/stats/aidl/default/FakeEnergyMeter.h b/power/stats/aidl/default/FakeEnergyMeter.h
index f0d4ee7..56dcdcc 100644
--- a/power/stats/aidl/default/FakeEnergyMeter.h
+++ b/power/stats/aidl/default/FakeEnergyMeter.h
@@ -60,9 +60,12 @@
*_aidl_return = mEnergyMeasurements;
} else {
for (int32_t id : in_channelIds) {
- if (id >= 0 && id < mEnergyMeasurements.size()) {
- _aidl_return->push_back(mEnergyMeasurements[id]);
+ // check for invalid ids
+ if (id < 0 || id >= mEnergyMeasurements.size()) {
+ return ndk::ScopedAStatus(AStatus_fromExceptionCode(EX_ILLEGAL_ARGUMENT));
}
+
+ _aidl_return->push_back(mEnergyMeasurements[id]);
}
}