Return empty suffix for invalid slots
Old HIDL HAL returns empty suffix, we should maintain this behavior in
AIDL.
Test: bootctl get-suffix 9, make sure result is empty
Bug: 219966986
Change-Id: Ia01c6bda899f3c5e0cdd1007cb051f7558f2e911
diff --git a/boot/aidl/default/BootControl.cpp b/boot/aidl/default/BootControl.cpp
index 4e3c21b..b73c94d 100644
--- a/boot/aidl/default/BootControl.cpp
+++ b/boot/aidl/default/BootControl.cpp
@@ -84,10 +84,12 @@
ScopedAStatus BootControl::getSuffix(int32_t in_slot, std::string* _aidl_return) {
if (!impl_.IsValidSlot(in_slot)) {
- return ScopedAStatus::fromServiceSpecificErrorWithMessage(
- INVALID_SLOT, (std::string("Invalid slot ") + std::to_string(in_slot)).c_str());
+ // Old HIDL hal returns empty string for invalid slots. We should maintain this behavior in
+ // AIDL for compatibility.
+ _aidl_return->clear();
+ } else {
+ *_aidl_return = impl_.GetSuffix(in_slot);
}
- *_aidl_return = impl_.GetSuffix(in_slot);
return ScopedAStatus::ok();
}