Message ID | 1382280980-21676-1-git-send-email-samuel.thibault@ens-lyon.org |
---|---|
State | New |
Headers | show |
diff --git a/slirp/udp.c b/slirp/udp.c index 8cc6cb6..fd2446a 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 */
Before this patch, if sosendto fails, udp_input is executed as if the packet was sent. This could cause memory leak. This patch adds a goto bad to cut the execution of this function. Signed-off-by: Guillaume Subiron <maethor@subiron.org> --- slirp/udp.c | 1 + 1 file changed, 1 insertion(+)