Fix memory leak 39/142239/2
authorSeungha Son <seungha.son@samsung.com>
Thu, 3 Aug 2017 06:44:18 +0000 (15:44 +0900)
committerSeungha Son <seungha.son@samsung.com>
Thu, 3 Aug 2017 06:46:58 +0000 (15:46 +0900)
Signed-off-by: Seungha Son <seungha.son@samsung.com>
Change-Id: I141702d292614441a9531274fe134a8db1cde4b5

src/badge_internal.c

index 40f6e93..21e9999 100755 (executable)
@@ -1529,8 +1529,10 @@ int badge_register_changed_cb_for_uid(badge_change_cb callback, void *data, uid_
        ret = _badge_changed_monitor_init(uid);
        if (ret == BADGE_ERROR_NONE) {
                ret = badge_ipc_init_badge(uid);
-               if (ret != BADGE_ERROR_NONE && ret != BADGE_ERROR_NOT_EXIST)
-                       return ret;
+               if (ret != BADGE_ERROR_NONE && ret != BADGE_ERROR_NOT_EXIST) {
+                       badge_unregister_changed_cb_for_uid(callback, uid);
+                       return BADGE_ERROR_IO_ERROR;
+               }
        } else {
                /* LCOV_EXCL_START */
                ERR("badge_ipc_monitor_init err : %d", ret);