2011-06-14 02:13:23

by Mi Jinlong

[permalink] [raw]
Subject: [PATCH] libexport.a: fix using bad index for loop at cltsetup()

At cltsetup(), for address checking, it should use clp's naddr for index,
not cltarg's naddr(and it's always zero here).

Signed-off-by: Mi Jinlong <[email protected]>
---
support/export/nfsctl.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/support/export/nfsctl.c b/support/export/nfsctl.c
index f89c644..2950a90 100644
--- a/support/export/nfsctl.c
+++ b/support/export/nfsctl.c
@@ -78,7 +78,7 @@ cltsetup(struct nfsctl_client *cltarg, nfs_client *clp)
str_tolower(cltarg->cl_ident);

j = 0;
- for (i = 0; i < cltarg->cl_naddr && i < NFSCLNT_ADDRMAX; i++) {
+ for (i = 0; i < clp->m_naddr && i < NFSCLNT_ADDRMAX; i++) {
const struct sockaddr_in *sin = get_addrlist_in(clp, i);
if (sin->sin_family == AF_INET)
cltarg->cl_addrlist[j++] = sin->sin_addr;
--
1.7.5.4




2011-06-22 22:35:05

by Steve Dickson

[permalink] [raw]
Subject: Re: [PATCH] libexport.a: fix using bad index for loop at cltsetup()



On 06/13/2011 10:16 PM, Mi Jinlong wrote:
> At cltsetup(), for address checking, it should use clp's naddr for index,
> not cltarg's naddr(and it's always zero here).
>
> Signed-off-by: Mi Jinlong <[email protected]>
> ---
> support/export/nfsctl.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/support/export/nfsctl.c b/support/export/nfsctl.c
> index f89c644..2950a90 100644
> --- a/support/export/nfsctl.c
> +++ b/support/export/nfsctl.c
> @@ -78,7 +78,7 @@ cltsetup(struct nfsctl_client *cltarg, nfs_client *clp)
> str_tolower(cltarg->cl_ident);
>
> j = 0;
> - for (i = 0; i < cltarg->cl_naddr && i < NFSCLNT_ADDRMAX; i++) {
> + for (i = 0; i < clp->m_naddr && i < NFSCLNT_ADDRMAX; i++) {
> const struct sockaddr_in *sin = get_addrlist_in(clp, i);
> if (sin->sin_family == AF_INET)
> cltarg->cl_addrlist[j++] = sin->sin_addr;
Committed..

steved.

2011-06-14 02:51:41

by Mi Jinlong

[permalink] [raw]
Subject: Re: [PATCH] libexport.a: fix using bad index for loop at cltsetup()



Mi Jinlong $B<LF;(B:
> At cltsetup(), for address checking, it should use clp's naddr for index,
> not cltarg's naddr(and it's always zero here).

After sending this patch, I find this problem was introduced by 6299a.

--
----
thanks
Mi Jinlong

>
> Signed-off-by: Mi Jinlong <[email protected]>
> ---
> support/export/nfsctl.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/support/export/nfsctl.c b/support/export/nfsctl.c
> index f89c644..2950a90 100644
> --- a/support/export/nfsctl.c
> +++ b/support/export/nfsctl.c
> @@ -78,7 +78,7 @@ cltsetup(struct nfsctl_client *cltarg, nfs_client *clp)
> str_tolower(cltarg->cl_ident);
>
> j = 0;
> - for (i = 0; i < cltarg->cl_naddr && i < NFSCLNT_ADDRMAX; i++) {
> + for (i = 0; i < clp->m_naddr && i < NFSCLNT_ADDRMAX; i++) {
> const struct sockaddr_in *sin = get_addrlist_in(clp, i);
> if (sin->sin_family == AF_INET)
> cltarg->cl_addrlist[j++] = sin->sin_addr;