patch-2.1.120 linux/net/core/scm.c
Next file: linux/net/core/skbuff.c
Previous file: linux/net/core/rtnetlink.c
Back to the patch index
Back to the overall index
-  Lines: 17
 -  Date:
Thu Aug 27 19:33:08 1998
 -  Orig file: 
v2.1.119/linux/net/core/scm.c
 -  Orig date: 
Thu May 14 19:47:44 1998
 
diff -u --recursive --new-file v2.1.119/linux/net/core/scm.c linux/net/core/scm.c
@@ -138,10 +138,14 @@
 
 	for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg))
 	{
+		err = -EINVAL;
+
+		if ((unsigned long)(((char*)cmsg - (char*)msg->msg_control)
+				    + cmsg->cmsg_len) > msg->msg_controllen)
+			goto error;
+
 		if (cmsg->cmsg_level != SOL_SOCKET)
 			continue;
-
-		err = -EINVAL;
 
 		switch (cmsg->cmsg_type)
 		{
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov