From f9e7f5c9b73fd81e2b1ccd89833506c8e66156aa Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Tue, 9 Apr 2013 18:13:12 +0200 Subject: session_policy_local: Do not free policy on load error We should not unref the policy on parsing errors becase the policy lifetime is attached to the lifetime of the file. When the file is removed we remove it from the hash table. --- plugins/session_policy_local.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'plugins') diff --git a/plugins/session_policy_local.c b/plugins/session_policy_local.c index fa8349f4..aa734a14 100644 --- a/plugins/session_policy_local.c +++ b/plugins/session_policy_local.c @@ -390,6 +390,7 @@ static void notify_handler(struct inotify_event *event, const char *ident) { struct policy_data *policy; + int err; if (ident == NULL) return; @@ -411,8 +412,10 @@ static void notify_handler(struct inotify_event *event, if (event->mask & IN_MODIFY) { connman_info("Policy modifed for '%s'", ident); - if (load_policy(policy) < 0) { - remove_policy(policy); + err = load_policy(policy); + if (err < 0) { + connman_warn("Loading policy file '%s' failed with %s", + ident, strerror(-err)); return; } } -- cgit v1.2.3