- copy_from_user(&msg_buff, buffer, sizeof(struct canmsg_t));
- /* Automatic selection of extended format if "extended" set and ID>2047 */
- if (extended) if (msg_buff.id & ~0x7ffl ) msg_buff.flags |= MSG_EXT;
+ ret = copy_from_user(&msg_buff, buffer, sizeof(struct canmsg_t));
+ if(ret) return -EFAULT;
+
+ /* Automatic selection of extended format if ID>2047 */
+ if (msg_buff.id & ~0x7ffl & MSG_ID_MASK ) msg_buff.flags |= MSG_EXT;
+ /* has been dependent on "extended" option */