diff options
-rw-r--r-- | src/notifier.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/notifier.c b/src/notifier.c index 27e53a1d..3d83e431 100644 --- a/src/notifier.c +++ b/src/notifier.c @@ -241,6 +241,11 @@ void __connman_notifier_unregister(enum connman_service_type type) { DBG("type %d", type); + if (g_atomic_int_get(®istered[type]) == 0) { + connman_error("notifier unregister underflow"); + return; + } + switch (type) { case CONNMAN_SERVICE_TYPE_UNKNOWN: case CONNMAN_SERVICE_TYPE_SYSTEM: @@ -287,6 +292,11 @@ void __connman_notifier_disable(enum connman_service_type type) { DBG("type %d", type); + if (g_atomic_int_get(&enabled[type]) == 0) { + connman_error("notifier disable underflow"); + return; + } + switch (type) { case CONNMAN_SERVICE_TYPE_UNKNOWN: case CONNMAN_SERVICE_TYPE_SYSTEM: @@ -333,6 +343,11 @@ void __connman_notifier_disconnect(enum connman_service_type type) { DBG("type %d", type); + if (g_atomic_int_get(&connected[type]) == 0) { + connman_error("notifier disconnect underflow"); + return; + } + switch (type) { case CONNMAN_SERVICE_TYPE_UNKNOWN: case CONNMAN_SERVICE_TYPE_SYSTEM: |