mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-08 14:23:19 +00:00
isdn: fix a wrapping bug in isdn_ppp_ioctl()
"protos" is an array of unsigned longs and "i" is the number of bits in an unsigned long so we need to use 1UL as well to prevent the shift from wrapping around. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
34e02aa1fb
commit
435f08a721
@ -595,7 +595,7 @@ isdn_ppp_ioctl(int min, struct file *file, unsigned int cmd, unsigned long arg)
|
||||
j = ipc->num / (sizeof(long) * 8);
|
||||
i = ipc->num % (sizeof(long) * 8);
|
||||
if (j < 8)
|
||||
protos[j] |= (0x1 << i);
|
||||
protos[j] |= (1UL << i);
|
||||
ipc = ipc->next;
|
||||
}
|
||||
if ((r = set_arg(argp, protos, 8 * sizeof(long))))
|
||||
|
Loading…
Reference in New Issue
Block a user