can: raw: raw_setsockopt: limit number of can_filter that can be set
[pandora-kernel.git] / net / can / raw.c
index 46cca3a..7320197 100644 (file)
@@ -459,6 +459,9 @@ static int raw_setsockopt(struct socket *sock, int level, int optname,
                if (optlen % sizeof(struct can_filter) != 0)
                        return -EINVAL;
 
+               if (optlen > CAN_RAW_FILTER_MAX * sizeof(struct can_filter))
+                       return -EINVAL;
+
                count = optlen / sizeof(struct can_filter);
 
                if (count > 1) {