Return empty suffix for invalid slots am: a6759d5d66 am: 2dba4ac8b4 am: 284508d0b2 am: 1016c8a7f2 am: 4ebf7ae992

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2166409

Change-Id: I199b772bee6194d58b02c78f0d24881ff9c90741
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
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();
 }