summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/notifier.c15
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(&registered[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: