diff options
Diffstat (limited to 'plugins/loopback.c')
-rwxr-xr-x | plugins/loopback.c | 26 |
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 && |