diff options
author | Seungha Son <seungha.son@samsung.com> | 2017-08-03 15:44:18 +0900 |
---|---|---|
committer | Seungha Son <seungha.son@samsung.com> | 2017-08-03 15:46:58 +0900 |
commit | aefca08c2befade03e8a3153ac54feff31cb9bf9 (patch) | |
tree | 4c2c2958e7177a3b8001c2099a4a098efd6405b5 | |
parent | d5152e977da003313797929f9bff37387d4251c8 (diff) | |
download | badge-aefca08c2befade03e8a3153ac54feff31cb9bf9.tar.gz badge-aefca08c2befade03e8a3153ac54feff31cb9bf9.tar.bz2 badge-aefca08c2befade03e8a3153ac54feff31cb9bf9.zip |
Fix memory leak
Signed-off-by: Seungha Son <seungha.son@samsung.com>
Change-Id: I141702d292614441a9531274fe134a8db1cde4b5
-rwxr-xr-x | src/badge_internal.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/badge_internal.c b/src/badge_internal.c index 40f6e93..21e9999 100755 --- a/src/badge_internal.c +++ b/src/badge_internal.c @@ -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); |