[ofa-general] [PATCH] Fix umad_get_cas_names() usage in libibumad.
Sasha Khapyorsky
sashak at voltaire.com
Sat Sep 15 12:23:39 PDT 2007
On 17:30 Mon 10 Sep , Arne Redlich wrote:
> "Hal Rosenstock" <hal.rosenstock at gmail.com> writes:
>
> > On 9/7/07, Arne Redlich <arne.redlich at xiranet.com> wrote:
> >> resolve_ca_name() passes a wrong "max" argument to umad_get_cas_names.
> >>
> >> Signed-off-by: Arne Redlich <arne.redlich at xiranet.com>
> >> ---
> >> diff --git a/libibumad/src/umad.c b/libibumad/src/umad.c
> >> index 787aa92..589684c 100644
> >> --- a/libibumad/src/umad.c
> >> +++ b/libibumad/src/umad.c
> >> @@ -307,7 +307,7 @@ resolve_ca_name(char *ca_name, int *best_port)
> >> }
> >>
> >> /* Get the list of CA names */
> >> - if ((n = umad_get_cas_names((void *)names, UMAD_CA_NAME_LEN)) < 0)
> >> + if ((n = umad_get_cas_names((void *)names, 20)) < 0)
> >
> > Rather than the hard coded 20 here and elsewhere, should this be
> > replaced by a #define ?
>
> How about a umad_get_cas_count() helper instead?
I'm not against using '20' here since this fixed size array is declared
just few lines above. A helper function could be nicer, but what do
you mean? Something like (sizeof(names)/UMAD_CA_NAME_LEN)?
Sasha
More information about the general
mailing list