On 13:39 Tue 03 Nov , Al Chu wrote: > Need to check for NULL? Manpage says its possible: > > --- > realloc() returns a pointer to the newly allocated memory, which is > suitably aligned for any kind of variable and may be different from ptr, > or NULL if the request fails. > --- > > Al > > On Tue, 2009-11-03 at 13:20 -0800, Ira Weiny wrote: > > From: Ira Weiny <wei...@llnl.gov> > > Date: Tue, 3 Nov 2009 13:19:33 -0800 > > Subject: [PATCH] infiniband-diags/ibqueryerrors: Fix realloc size to > > prevent core > > > > Realloc size was wrong causing a core when enough errors were > > suppressed. Reproduced by running: > > > > ibqueryerrors -c -s > > RcvSwRelayErrors,LinkDowned,VL15Dropped,XmtWait,SymbolErrors,LinkRecovers,RcvErrors > > > > Signed-off-by: Ira Weiny <wei...@llnl.gov> > > --- > > infiniband-diags/src/ibqueryerrors.c | 3 ++- > > 1 files changed, 2 insertions(+), 1 deletions(-) > > > > diff --git a/infiniband-diags/src/ibqueryerrors.c > > b/infiniband-diags/src/ibqueryerrors.c > > index f83f29e..aac7087 100644 > > --- a/infiniband-diags/src/ibqueryerrors.c > > +++ b/infiniband-diags/src/ibqueryerrors.c > > @@ -381,7 +381,8 @@ void print_node(ibnd_node_t * node, void *user_data) > > > > static void add_suppressed(enum MAD_FIELDS field) > > { > > - suppressed_fields = realloc(suppressed_fields, sizeof(enum MAD_FIELDS)); > > + suppressed_fields = realloc(suppressed_fields, > > + (sup_total+1)*sizeof(enum MAD_FIELDS));
Also it is never freed. Maybe just to have a static array (0-terminated) and to not bother with realloc()? Sasha > > suppressed_fields[sup_total] = field; > > sup_total++; > > } > -- > Albert Chu > ch...@llnl.gov > Computer Scientist > High Performance Systems Division > Lawrence Livermore National Laboratory > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html