Fix crash issue accepted/tizen/unified/20191213.042448 submit/tizen/20191212.070841
authorsaerome.kim <saerome.kim@samsung.com>
Thu, 12 Dec 2019 06:10:38 +0000 (15:10 +0900)
committersaerome.kim <saerome.kim@samsung.com>
Thu, 12 Dec 2019 07:06:41 +0000 (16:06 +0900)
- problem: Crash takes place when doing adding a device and detection
  simultaneously.
- Cause: timer callback tries to remove freed memory.
- Solution: Remove timer when removing an async request.

Change-Id: I24be2a3c53ee18e8f3c97be46348a05b03a0782d
Signed-off-by: saerome.kim <saerome.kim@samsung.com>
packaging/ua-manager.spec
ua-daemon/src/ua-manager-request-handler.c

index 06b1e09..21bc4aa 100644 (file)
@@ -1,6 +1,6 @@
 Name:       ua-manager
 Summary:    User awareness manager
-Version:    0.13.15
+Version:    0.13.16
 Release:    1
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
index 0b08f12..7afa318 100644 (file)
@@ -1163,6 +1163,7 @@ void _uam_manager_remove_req_ctxt_from_list(uam_request_context_t *req_info)
                }
 
                if (NULL == info->sender) {
+                       _uam_remove_timer(info->tid);
                        g_free(info->data);
                        g_free(info);
                        request_list = g_slist_remove_link(request_list, l);
@@ -1172,7 +1173,7 @@ void _uam_manager_remove_req_ctxt_from_list(uam_request_context_t *req_info)
 
                if ((strcasecmp(info->sender, req_info->sender) == 0) &&
                        req_info->function == info->function) {
-
+                       _uam_remove_timer(info->tid);
                        g_free(info->sender);
                        g_free(info->data);
                        g_free(info);