X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=net%2Firda%2Firiap.c;h=1138eaf5c6829ac08431a91c31fb3339dfe6213d;hb=28ce472032d4f09f1aa7a8171f40ffea850a2652;hp=4a7ae32afa09b90fab1d57bcb807ca2b8a1200c6;hpb=b3890e4704594fa23abe1395d1fafc97d3214be8;p=firefly-linux-kernel-4.4.55.git diff --git a/net/irda/iriap.c b/net/irda/iriap.c index 4a7ae32afa09..1138eaf5c682 100644 --- a/net/irda/iriap.c +++ b/net/irda/iriap.c @@ -185,8 +185,12 @@ struct iriap_cb *iriap_open(__u8 slsap_sel, int mode, void *priv, self->magic = IAS_MAGIC; self->mode = mode; - if (mode == IAS_CLIENT) - iriap_register_lsap(self, slsap_sel, mode); + if (mode == IAS_CLIENT) { + if (iriap_register_lsap(self, slsap_sel, mode)) { + kfree(self); + return NULL; + } + } self->confirm = callback; self->priv = priv;