fix a double free/access after free problem.
Thanks to James Harper <james.harper@bendigoit.com.au> for tracking down.
This commit is contained in:
parent
c2def45158
commit
07a8ef6ac4
|
@ -804,7 +804,8 @@ hdlc_down(mISDNinstance_t *inst, struct sk_buff *skb)
|
|||
spin_unlock_irqrestore(inst->hwlock, flags);
|
||||
skb_trim(skb, 0);
|
||||
if (hh->prim != (PH_CONTROL | REQUEST))
|
||||
ret = mISDN_queueup_newhead(inst, 0, hh->prim | CONFIRM, 0, skb);
|
||||
if (!mISDN_queueup_newhead(inst, 0, hh->prim | CONFIRM, 0, skb))
|
||||
return(0);
|
||||
} else {
|
||||
printk(KERN_WARNING "hdlc_down unknown prim(%x)\n", hh->prim);
|
||||
ret = -EINVAL;
|
||||
|
|
|
@ -1656,7 +1656,8 @@ isar_down(mISDNinstance_t *inst, struct sk_buff *skb)
|
|||
spin_unlock_irqrestore(inst->hwlock, flags);
|
||||
skb_trim(skb, 0);
|
||||
if (hh->prim != (PH_CONTROL | REQUEST))
|
||||
ret = mISDN_queueup_newhead(inst, 0, hh->prim | CONFIRM, 0, skb);
|
||||
if (!mISDN_queueup_newhead(inst, 0, hh->prim | CONFIRM, 0, skb))
|
||||
return(0);
|
||||
} else if (hh->prim == (PH_CONTROL | REQUEST)) {
|
||||
int *val;
|
||||
int len;
|
||||
|
|
Loading…
Reference in New Issue