Message ID | 1449792930-27293-1-git-send-email-samuel.thibault@ens-lyon.org |
---|---|
State | New |
Headers | show |
On 11/12/15 01:15, Samuel Thibault wrote: > From: Guillaume Subiron <maethor@subiron.org> > > Before this patch, if sosendto fails, udp_input is executed as if the > packet was sent, recording the packet for icmp errors, which does not > makes sense since the packet was not actually sent, errors would be > related to a previous packet. > > This patch adds a goto bad to cut the execution of this function. > > Signed-off-by: Guillaume Subiron <maethor@subiron.org> > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > --- > slirp/debug.h | 2 +- > slirp/udp.c | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/slirp/debug.h b/slirp/debug.h > index 6cfa61e..c60f967 100644 > --- a/slirp/debug.h > +++ b/slirp/debug.h > @@ -5,7 +5,7 @@ > * terms and conditions of the copyright. > */ > > -//#define DEBUG 1 > +#define DEBUG 1 Please don't enable the debug code by default. > diff --git a/slirp/udp.c b/slirp/udp.c > index fee13b4..ce63414 100644 > --- a/slirp/udp.c > +++ b/slirp/udp.c > @@ -218,6 +218,7 @@ udp_input(register struct mbuf *m, int iphlen) > *ip=save_ip; > DEBUG_MISC((dfd,"udp tx errno = %d-%s\n",errno,strerror(errno))); > icmp_error(m, ICMP_UNREACH,ICMP_UNREACH_NET, 0,strerror(errno)); > + goto bad; > } > > m_free(so->so_m); /* used for ICMP if error on sorecvfrom */ That change looks sane to me. Thomas
Thomas Huth, on Fri 11 Dec 2015 12:54:14 +0100, wrote: > > @@ -5,7 +5,7 @@ > > * terms and conditions of the copyright. > > */ > > > > -//#define DEBUG 1 > > +#define DEBUG 1 > > Please don't enable the debug code by default. Oops, sorry, that wasn't meant to be included in the patch series. Samuel
diff --git a/slirp/debug.h b/slirp/debug.h index 6cfa61e..c60f967 100644 --- a/slirp/debug.h +++ b/slirp/debug.h @@ -5,7 +5,7 @@ * terms and conditions of the copyright. */ -//#define DEBUG 1 +#define DEBUG 1 #ifdef DEBUG diff --git a/slirp/udp.c b/slirp/udp.c index fee13b4..ce63414 100644 --- a/slirp/udp.c +++ b/slirp/udp.c @@ -218,6 +218,7 @@ udp_input(register struct mbuf *m, int iphlen) *ip=save_ip; DEBUG_MISC((dfd,"udp tx errno = %d-%s\n",errno,strerror(errno))); icmp_error(m, ICMP_UNREACH,ICMP_UNREACH_NET, 0,strerror(errno)); + goto bad; } m_free(so->so_m); /* used for ICMP if error on sorecvfrom */