Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9fef7685 authored by Wei Yongjun's avatar Wei Yongjun Committed by David S. Miller
Browse files

mISDN: fix possible memory leak in hfcmulti_init()

hc has been allocated in this function and missing free it before
leaving from some error handling cases.

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/

)

Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b379135c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -5059,6 +5059,7 @@ hfcmulti_init(struct hm_map *m, struct pci_dev *pdev,
				printk(KERN_INFO
				       "HFC-E1 #%d has overlapping B-channels on fragment #%d\n",
				       E1_cnt + 1, pt);
				kfree(hc);
				return -EINVAL;
			}
			maskcheck |= hc->bmask[pt];
@@ -5086,6 +5087,7 @@ hfcmulti_init(struct hm_map *m, struct pci_dev *pdev,
	if ((poll >> 1) > sizeof(hc->silence_data)) {
		printk(KERN_ERR "HFCMULTI error: silence_data too small, "
		       "please fix\n");
		kfree(hc);
		return -EINVAL;
	}
	for (i = 0; i < (poll >> 1); i++)