On Thu, 2012-04-19 at 01:12 +0200, Pablo Neira Ayuso wrote: Hi, > Hi Miguel, > > On Tue, Apr 17, 2012 at 10:29:23AM +0200, Miguel GAIO wrote: > > Hi, > > > > There is an issue on TC_INIT retry path: > > In error case, TC_FREE is called and close sockfd. > > The retry does not reopen then always fail. > > > > The proposing patch reopen sockfd in retry patch. > > > > > > Miguel > > > > From 6dbb1a9f16c70a60c06559b31eac7ab3af789fa1 Mon Sep 17 00:00:00 2001 > > From: Miguel GAIO > > Date: Tue, 17 Apr 2012 10:16:28 +0200 > > Subject: [PATCH 2008/2008] libiptc: TC_INIT fix retry > > > > --- > > libiptc/libiptc.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/libiptc/libiptc.c b/libiptc/libiptc.c > > index 63965e7..cd2ad9d 100644 > > --- a/libiptc/libiptc.c > > +++ b/libiptc/libiptc.c > > @@ -1314,6 +1314,7 @@ TC_INIT(const char *tablename) > > return NULL; > > } > > > > +retry: > > Still iptc_fn is set to TC_FREE. We have to move up to the beginning > of TC_INIT. Your right, I miss it. I resend patch with the retry at the beginning of TC_INIT.