Fix for issue AXIS2C-1405
diff --git a/src/data/module.xml b/src/data/module.xml
index 2196eb2..4108fc2 100644
--- a/src/data/module.xml
+++ b/src/data/module.xml
@@ -1,7 +1,7 @@
 <module name="savan" class="mod_savan">
    <!-- Resource parameters -->
    <!-- savan_storage could be one of inmemory, sqlite and service-->
-   <parameter name="savan_resource" locked="false">/tmp/savan_db</parameter>
+   <!--parameter name="savan_resource" locked="false">/tmp/savan_db</parameter>-->
    <!--parameter name="savan_resource" locked="false">http://localhost:9763/registry</parameter>
    <parameter name="username" locked="false">admin</parameter>
    <parameter name="password" locked="false">admin</parameter-->
diff --git a/src/subs_mgrs/registry/subs_mgr.c b/src/subs_mgrs/registry/subs_mgr.c
index 2b7056d..f81f09b 100644
--- a/src/subs_mgrs/registry/subs_mgr.c
+++ b/src/subs_mgrs/registry/subs_mgr.c
@@ -143,7 +143,7 @@
     memset ((void *) subsmgrimpl, 0, sizeof(savan_registry_subs_mgr_t));
 
     subsmgrimpl->remote_registry = NULL;
-    subsmgrimpl->reg_url = axutil_strdup(env, savan_util_get_resource_connection_string(env, conf));
+    subsmgrimpl->reg_url = savan_util_get_resource_connection_string(env, conf);
     subsmgrimpl->username = axutil_strdup(env, savan_util_get_resource_username(env, conf));
     subsmgrimpl->password = axutil_strdup(env, savan_util_get_resource_password(env, conf));
     subsmgrimpl->conf = conf;
diff --git a/src/subs_mgrs/service/subs_mgr.c b/src/subs_mgrs/service/subs_mgr.c
index 2ca478a..9709ca6 100644
--- a/src/subs_mgrs/service/subs_mgr.c
+++ b/src/subs_mgrs/service/subs_mgr.c
@@ -159,7 +159,7 @@
 
     memset ((void *) subs_mgr_impl, 0, sizeof(savan_service_subs_mgr_t));
 
-    subs_mgr_impl->subs_mgr_url = axutil_strdup(env, savan_util_get_resource_connection_string(env, conf));
+    subs_mgr_impl->subs_mgr_url = savan_util_get_resource_connection_string(env, conf);
     subs_mgr_impl->conf = conf;
     subs_mgr_impl->subs_mgr.ops = &subs_mgr_ops;
 
diff --git a/src/subs_mgrs/sqlite/subs_mgr.c b/src/subs_mgrs/sqlite/subs_mgr.c
index 892e030..1b19c21 100644
--- a/src/subs_mgrs/sqlite/subs_mgr.c
+++ b/src/subs_mgrs/sqlite/subs_mgr.c
@@ -151,7 +151,7 @@
 
     memset ((void *) subs_mgr_impl, 0, sizeof(savan_sqlite_subs_mgr_t));
 
-    subs_mgr_impl->dbname = axutil_strdup(env, savan_util_get_resource_connection_string(env, conf));
+    subs_mgr_impl->dbname = savan_util_get_resource_connection_string(env, conf);
     subs_mgr_impl->conf = conf;
     subs_mgr_impl->subs_mgr.ops = &subs_mgr_ops;
 
diff --git a/src/util/savan_util.c b/src/util/savan_util.c
index 3db7ae4..595dc8a 100644
--- a/src/util/savan_util.c
+++ b/src/util/savan_util.c
@@ -326,7 +326,7 @@
     const axutil_env_t *env,
     axis2_conf_t *conf)
 {
-    axis2_char_t *resource_str = "./savan_db";
+    axis2_char_t *resource_str = NULL;
     axis2_module_desc_t *module_desc = NULL;
     axutil_qname_t *qname = NULL;
 
@@ -338,11 +338,26 @@
         resource_param = axis2_module_desc_get_param(module_desc, env, SAVAN_RESOURCE);
         if(resource_param)
         {
-            resource_str = (axis2_char_t *) axutil_param_get_value(resource_param, env);
+            resource_str = axutil_strdup(
+                env, (axis2_char_t *) axutil_param_get_value(resource_param, env));
         }
     }
     axutil_qname_free(qname, env);
     
+    if(!resource_str)
+    {
+        axis2_char_t *home = NULL;
+        home = AXIS2_GETENV("AXIS2C_HOME");
+        if(home)
+        {
+            resource_str = axutil_stracat(env, home, "/savan_db");
+        }
+        else
+        {
+            resource_str = axutil_strdup(env, "./savan_db");
+        }
+    }
+
     return resource_str;
 }