diff options
Diffstat (limited to 'networking/hostname.c')
-rw-r--r-- | networking/hostname.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/networking/hostname.c b/networking/hostname.c index 579eff795..121ad40bb 100644 --- a/networking/hostname.c +++ b/networking/hostname.c | |||
@@ -132,10 +132,14 @@ int hostname_main(int argc UNUSED_PARAM, char **argv) | |||
132 | if (*p) | 132 | if (*p) |
133 | puts(p + 1); | 133 | puts(p + 1); |
134 | } else /*if (opts & OPT_i)*/ { | 134 | } else /*if (opts & OPT_i)*/ { |
135 | while (hp->h_addr_list[0]) { | 135 | if (hp->h_length == sizeof(struct in_addr)) { |
136 | printf("%s ", inet_ntoa(*(struct in_addr *) (*hp->h_addr_list++))); | 136 | struct in_addr **h_addr_list = (struct in_addr **)hp->h_addr_list; |
137 | while (*h_addr_list) { | ||
138 | printf("%s ", inet_ntoa(**h_addr_list)); | ||
139 | h_addr_list++; | ||
140 | } | ||
141 | bb_putchar('\n'); | ||
137 | } | 142 | } |
138 | bb_putchar('\n'); | ||
139 | } | 143 | } |
140 | } else if (opts & OPT_F) { | 144 | } else if (opts & OPT_F) { |
141 | /* Set the hostname */ | 145 | /* Set the hostname */ |