Fix exception handling of SendAndReceive() method 30/255230/2
authorHwankyu Jhun <h.jhun@samsung.com>
Mon, 15 Mar 2021 09:27:47 +0000 (18:27 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Mon, 15 Mar 2021 10:37:00 +0000 (19:37 +0900)
Change-Id: I5db0c5fbd04c9187375d7f008f30396427d4d4f1
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/aul_svc.cc

index 6ec38e3..0ad74b1 100644 (file)
@@ -280,8 +280,12 @@ int SendAndReceive(int cmd, uid_t uid, bundle* request, bundle** response) {
   }
 
   auto ptr = std::unique_ptr<app_pkt_t, decltype(std::free)*>(pkt, std::free);
-  if (pkt->cmd != APP_GET_INFO_OK && pkt->cmd != cmd)
-    return AUL_SVC_RET_ERROR;
+  if (pkt->cmd != APP_GET_INFO_OK && pkt->cmd != cmd) {
+    if (pkt->cmd == APP_GET_INFO_ERROR)
+      return AUL_SVC_RET_ERROR;
+
+    return AulErrorConvert(aul_error_convert(pkt->cmd));
+  }
 
   bundle* b = nullptr;
   if (pkt->opt & AUL_SOCK_BUNDLE) {