[PATCH] fix nss_wins.c
Jeremy Allison
jra at samba.org
Fri Apr 22 01:15:34 UTC 2016
On Tue, Apr 19, 2016 at 05:08:44PM +0200, Volker Lendecke wrote:
> Hi!
>
> Attached find two patches I got send by private mail.
>
> Review appreciated!
LGTM. Pushed !
> --
> SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
> phone: +49-551-370000-0, fax: +49-551-370000-9
> AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
> http://www.sernet.de, mailto:kontakt at sernet.de
> From 4b597ac1194f810e7ca6b56637218abce97fe8e3 Mon Sep 17 00:00:00 2001
> From: Tom Mortensen <tomm at lime-technology.com>
> Date: Sat, 16 Apr 2016 10:57:12 +0200
> Subject: [PATCH 1/2] nss_wins: ip_pton expects the raw IP address
>
> Signed-off-by: Tom Mortensen <tomm at lime-technology.com>
> Reviewed-by: Volker Lendecke <vl at samba.org>
> ---
> nsswitch/wins.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/nsswitch/wins.c b/nsswitch/wins.c
> index 3243ffb..22524e4 100644
> --- a/nsswitch/wins.c
> +++ b/nsswitch/wins.c
> @@ -47,7 +47,7 @@ NSS_STATUS _nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *
> static char *lookup_byname_backend(const char *name)
> {
> const char *p;
> - char *ip;
> + char *ip, *ipp;
> size_t nbt_len;
> wbcErr result;
>
> @@ -65,6 +65,11 @@ static char *lookup_byname_backend(const char *name)
> return NULL;
> }
>
> + ipp = strchr(ip, '\t');
> + if (ipp != NULL) {
> + *ipp = '\0';
> + }
> +
> return ip;
> }
>
> --
> 2.1.4
>
>
> From a56a6c70df0c82af15371ab28c0e5de0a26aed91 Mon Sep 17 00:00:00 2001
> From: Tom Mortensen <tomm at lime-technology.com>
> Date: Sat, 16 Apr 2016 10:57:12 +0200
> Subject: [PATCH 2/2] nss_wins: Fix the hostent setup
>
> This can never have been tested....
>
> Signed-off-by: Tom Mortensen <tomm at lime-technology.com>
> Reviewed-by: Volker Lendecke <vl at samba.org>
> ---
> nsswitch/wins.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/nsswitch/wins.c b/nsswitch/wins.c
> index 22524e4..fc65c03 100644
> --- a/nsswitch/wins.c
> +++ b/nsswitch/wins.c
> @@ -280,7 +280,7 @@ _nss_wins_gethostbyname_r(const char *hostname, struct hostent *he,
> }
>
> if ((he->h_addr_list = (char **)get_static(
> - &buffer, &buflen, i * sizeof(char *))) == NULL) {
> + &buffer, &buflen, 2 * sizeof(char *))) == NULL) {
> nss_status = NSS_STATUS_TRYAGAIN;
> goto out;
> }
> @@ -291,9 +291,9 @@ _nss_wins_gethostbyname_r(const char *hostname, struct hostent *he,
> goto out;
> }
>
> - memcpy(he->h_addr_list[i], &in, INADDRSZ);
> + memcpy(he->h_addr_list[0], &in, INADDRSZ);
>
> - he->h_addr_list[0] = NULL;
> + he->h_addr_list[1] = NULL;
>
> /* Set h_addr_type and h_length */
>
> --
> 2.1.4
>
More information about the samba-technical
mailing list