Skip to content

Commit

Permalink
Staging: hv: util: kvp: Cleanup kvp_get_domain_name()
Browse files Browse the repository at this point in the history
Cleanup kvp_get_domain_name(). If getaddrinfo() fails, deal with it properly
(this can happen if no IP address has been assigned). Also, don't specify
a specific service in the call to getaddrinfo() to make this code as generic
as possible. Lastly, move the call to gethostname() after the local variables.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
K. Y. Srinivasan authored and Greg Kroah-Hartman committed Aug 23, 2011
1 parent e54bbc6 commit 5be528c
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions drivers/staging/hv/tools/hv_kvp_daemon.c
Original file line number Diff line number Diff line change
Expand Up @@ -273,22 +273,20 @@ static int
kvp_get_domain_name(char *buffer, int length)
{
struct addrinfo hints, *info ;
gethostname(buffer, length);
int error = 0;

gethostname(buffer, length);
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_INET; /*Get only ipv4 addrinfo. */
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_CANONNAME;

error = getaddrinfo(buffer, "http", &hints, &info);
error = getaddrinfo(buffer, NULL, &hints, &info);
if (error != 0) {
strcpy(buffer, "getaddrinfo failed\n");
error = 1;
goto get_domain_done;
return error;
}
strcpy(buffer, info->ai_canonname);
get_domain_done:
freeaddrinfo(info);
return error;
}
Expand Down

0 comments on commit 5be528c

Please sign in to comment.