|
@@ -784,8 +784,9 @@ static int tipc_sendmsg(struct kiocb *iocb, struct socket *sock,
|
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
rc = tipc_wait_for_sndmsg(sock, &timeo);
|
|
rc = tipc_wait_for_sndmsg(sock, &timeo);
|
|
|
|
|
+ if (rc)
|
|
|
|
|
+ kfree_skb_list(buf);
|
|
|
} while (!rc);
|
|
} while (!rc);
|
|
|
-
|
|
|
|
|
exit:
|
|
exit:
|
|
|
if (iocb)
|
|
if (iocb)
|
|
|
release_sock(sk);
|
|
release_sock(sk);
|
|
@@ -898,6 +899,8 @@ static int tipc_send_stream(struct kiocb *iocb, struct socket *sock,
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
rc = tipc_wait_for_sndpkt(sock, &timeo);
|
|
rc = tipc_wait_for_sndpkt(sock, &timeo);
|
|
|
|
|
+ if (rc)
|
|
|
|
|
+ kfree_skb_list(buf);
|
|
|
} while (!rc);
|
|
} while (!rc);
|
|
|
exit:
|
|
exit:
|
|
|
if (iocb)
|
|
if (iocb)
|