system-controller: bail out if creating directories fails.
authorIsmo Puustinen <ismo.puustinen@intel.com>
Wed, 24 Sep 2014 14:18:22 +0000 (17:18 +0300)
committerKrisztian Litkey <krisztian.litkey@intel.com>
Thu, 8 Jan 2015 16:37:18 +0000 (18:37 +0200)
Change-Id: I1dd534f347d32f52bf43507b948efa60d81e2e10

src/plugins/system-controller/plugin-system-controller.c
src/plugins/system-controller/user/user.c
src/plugins/system-controller/user/user.h

index 8b88d37..6231e47 100644 (file)
@@ -743,7 +743,10 @@ static int register_lua_bindings(sysctl_t *sc)
     mrp_resclnt_scripting_init(sc->L);
     mrp_application_scripting_init(sc->L);
     mrp_wayland_scripting_init(sc->L);
-    mrp_user_scripting_init(sc->L, sc->user_config_file, sc->user_dir, sc->ctx->ml);
+
+    if (!mrp_user_scripting_init(sc->L, sc->user_config_file, sc->user_dir,
+            sc->ctx->ml))
+        return FALSE;
 
     mrp_lua_create_object_class(sc->L, SYSCTL_LUA_CLASS);
 
@@ -772,6 +775,9 @@ static int plugin_init(mrp_plugin_t *plugin)
             sc->user_dir = tzplatform_mkpath(TZ_USER_HOME, "ico");
         }
 
+        if (!sc->user_dir)
+            goto fail;
+
         if (!transport_create(sc))
             goto fail;
 
index eba2886..9e2de98 100644 (file)
@@ -1095,12 +1095,12 @@ static bool user_deinit()
     return TRUE;
 }
 
-void mrp_user_scripting_init(lua_State *L, const char *config_file,
+bool mrp_user_scripting_init(lua_State *L, const char *config_file,
         const char *lastinfo_dir, mrp_mainloop_t *ml)
 {
     MRP_UNUSED(L);
 
-    user_init(ml, config_file, lastinfo_dir);
+    return user_init(ml, config_file, lastinfo_dir);
 }
 
 void mrp_user_scripting_deinit(lua_State *L)
index 06e72e1..5acdc7b 100644 (file)
@@ -30,7 +30,7 @@
 #include <lualib.h>
 #include <murphy/common.h>
 
-void mrp_user_scripting_init(lua_State *L, const char *config_file,
+bool mrp_user_scripting_init(lua_State *L, const char *config_file,
         const char *lasinfo_dir, mrp_mainloop_t *ml);
 
 void mrp_user_scripting_deinit(lua_State *L);