Sasha Khapyorsky <[EMAIL PROTECTED]> writes: > On 17:30 Mon 10 Sep , Arne Redlich wrote: >> "Hal Rosenstock" <[EMAIL PROTECTED]> writes: >> >> > On 9/7/07, Arne Redlich <[EMAIL PROTECTED]> wrote: >> >> resolve_ca_name() passes a wrong "max" argument to umad_get_cas_names. >> >> >> >> Signed-off-by: Arne Redlich <[EMAIL PROTECTED]> >> >> --- >> >> 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)?
No, sorry for being unclear. What I had in mind was a function that returns the actual number of CAs in the system, so users of umad_get_cas_names() don't need to take guesses anymore, i.e.: nca = umad_get_cas_count(); cas = calloc(nca, UMAD_CA_NAME_LEN); ret = umad_get_cas_names(cas, nca); Arne _______________________________________________ general mailing list general@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general