projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net: add build-time checks for msg->msg_name size
[deliverable/linux.git]
/
net
/
decnet
/
af_decnet.c
diff --git
a/net/decnet/af_decnet.c
b/net/decnet/af_decnet.c
index dd4d506ef92395a9124a73391dd69beb92ed0388..2954dcbca8325d81cab149613554d380bc607469 100644
(file)
--- a/
net/decnet/af_decnet.c
+++ b/
net/decnet/af_decnet.c
@@
-1808,6
+1808,7
@@
out:
rv = (flags & MSG_PEEK) ? -sk->sk_err : sock_error(sk);
if ((rv >= 0) && msg->msg_name) {
rv = (flags & MSG_PEEK) ? -sk->sk_err : sock_error(sk);
if ((rv >= 0) && msg->msg_name) {
+ __sockaddr_check_size(sizeof(struct sockaddr_dn));
memcpy(msg->msg_name, &scp->peer, sizeof(struct sockaddr_dn));
msg->msg_namelen = sizeof(struct sockaddr_dn);
}
memcpy(msg->msg_name, &scp->peer, sizeof(struct sockaddr_dn));
msg->msg_namelen = sizeof(struct sockaddr_dn);
}
@@
-1914,7
+1915,7
@@
static int dn_sendmsg(struct kiocb *iocb, struct socket *sock,
int err = 0;
size_t sent = 0;
int addr_len = msg->msg_namelen;
int err = 0;
size_t sent = 0;
int addr_len = msg->msg_namelen;
-
struct sockaddr_dn *addr = (struct sockaddr_dn *)msg->msg_name
;
+
DECLARE_SOCKADDR(struct sockaddr_dn *, addr, msg->msg_name)
;
struct sk_buff *skb = NULL;
struct dn_skb_cb *cb;
size_t len;
struct sk_buff *skb = NULL;
struct dn_skb_cb *cb;
size_t len;
This page took
0.026471 seconds
and
5
git commands to generate.