summaryrefslogtreecommitdiff
path: root/src/badge_internal.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/badge_internal.c')
-rwxr-xr-xsrc/badge_internal.c6
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);