Fix the crash issue of check_destroy 30/214230/1
authorYoungHun Kim <yh8004.kim@samsung.com>
Thu, 5 Sep 2019 06:36:49 +0000 (15:36 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Wed, 18 Sep 2019 02:19:22 +0000 (11:19 +0900)
 - If check_destory is called after mrp_transport_destroy, then there double free issue.
   check_destroy is verifying if destroyed with purge_destroyed. So we can return simply
   using destoyed variable.

Change-Id: I92dc725df47a76a9e7020ef67657b02043ede434

src/common/transport.c

index d00c588c7684c3016d29948a7eeee3b818186bb0..50a7263bc9e098cf0289d7568213e31489f8a604 100644 (file)
@@ -383,7 +383,10 @@ void mrp_transport_destroy(mrp_transport_t *t)
 
 static int check_destroy(mrp_transport_t *t)
 {
-    return purge_destroyed(t);
+    if (t->destroyed && !t->busy)
+        return TRUE;
+
+    return FALSE;
 }