summaryrefslogtreecommitdiffstats
path: root/net/irda
diff options
context:
space:
mode:
authorTommi Rantala <tt.rantala@gmail.com>2012-11-26 04:16:44 +0000
committerDavid S. Miller <davem@davemloft.net>2012-11-28 11:25:29 -0500
commitc3b2c2581988d304127c2aa218430b5fca88ce56 (patch)
treef24f1b072c8113dcafde12f0ca4bb323f13de6e1 /net/irda
parentba695af067f9cadfec84457ac06b44e3fa849b15 (diff)
downloadlinux-c3b2c2581988d304127c2aa218430b5fca88ce56.tar.gz
linux-c3b2c2581988d304127c2aa218430b5fca88ce56.tar.bz2
linux-c3b2c2581988d304127c2aa218430b5fca88ce56.zip
irda: irttp: fix memory leak in irttp_open_tsap() error path
Cleanup the memory we allocated earlier in irttp_open_tsap() when we hit this error path. The leak goes back to at least 1da177e4 ("Linux-2.6.12-rc2"). Discovered with Trinity (the syscall fuzzer). Signed-off-by: Tommi Rantala <tt.rantala@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/irda')
-rw-r--r--net/irda/irttp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/irda/irttp.c b/net/irda/irttp.c
index 1002e3396f72..ae43c62f9045 100644
--- a/net/irda/irttp.c
+++ b/net/irda/irttp.c
@@ -441,6 +441,7 @@ struct tsap_cb *irttp_open_tsap(__u8 stsap_sel, int credit, notify_t *notify)
lsap = irlmp_open_lsap(stsap_sel, &ttp_notify, 0);
if (lsap == NULL) {
IRDA_DEBUG(0, "%s: unable to allocate LSAP!!\n", __func__);
+ __irttp_close_tsap(self);
return NULL;
}