summaryrefslogtreecommitdiff
path: root/plugins/loopback.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/loopback.c')
-rwxr-xr-xplugins/loopback.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/plugins/loopback.c b/plugins/loopback.c
index 28a59c9c..d0ed6268 100755
--- a/plugins/loopback.c
+++ b/plugins/loopback.c
@@ -48,16 +48,6 @@ static in_addr_t loopback_netmask;
static char system_hostname[HOST_NAME_MAX + 1];
-static void create_hostname(void)
-{
- const char *name = "localhost";
-
- if (sethostname(name, strlen(name)) < 0)
- connman_error("Failed to set hostname to %s", name);
-
- strncpy(system_hostname, name, HOST_NAME_MAX);
-}
-
#if defined TIZEN_EXT
static void _create_hostname(void)
{
@@ -73,14 +63,14 @@ static void _create_hostname(void)
fp = fopen(WIFI_MAC, "r");
if(!fp){
connman_error("Failed to get current hostname");
- strncpy(system_hostname, dev_id, strlen(dev_id));
+ strncpy(system_hostname, dev_id, sizeof(system_hostname) - 1);
return;
}
rv = fgets(wifi_mac, HOST_NAME_MAX, fp);
if(!rv){
connman_error("Failed to get current hostname");
- strncpy(system_hostname, dev_id, strlen(dev_id));
+ strncpy(system_hostname, dev_id, sizeof(system_hostname) - 1);
fclose(fp);
return;
}
@@ -90,6 +80,17 @@ static void _create_hostname(void)
g_free(dev_id);
fclose(fp);
}
+#else
+static void create_hostname(void)
+{
+ const char *name = "localhost";
+
+ if (sethostname(name, strlen(name)) < 0)
+ connman_error("Failed to set hostname to %s", name);
+
+ strncpy(system_hostname, name, HOST_NAME_MAX);
+}
+
#endif
static int setup_hostname(void)
@@ -102,6 +103,7 @@ static int setup_hostname(void)
connman_error("Failed to get current hostname");
return -EIO;
}
+
#if defined TIZEN_EXT
if (strlen(system_hostname) > 0 &&
strcmp(system_hostname, "(none)") != 0 &&