Merge "usb: pd: avoid out-of-bounds access when reading PDOs"
This commit is contained in:
commit
f3dcbfee1c
1 changed files with 8 additions and 2 deletions
|
@ -2253,8 +2253,11 @@ static void usbpd_sm(struct work_struct *w)
|
|||
&val);
|
||||
|
||||
/* save the PDOs so userspace can further evaluate */
|
||||
memcpy(&pd->received_pdos, rx_msg->payload,
|
||||
memset(&pd->received_pdos, 0,
|
||||
sizeof(pd->received_pdos));
|
||||
memcpy(&pd->received_pdos, rx_msg->payload,
|
||||
min_t(size_t, rx_msg->data_len,
|
||||
sizeof(pd->received_pdos)));
|
||||
pd->src_cap_id++;
|
||||
|
||||
usbpd_set_state(pd, PE_SNK_EVALUATE_CAPABILITY);
|
||||
|
@ -2365,8 +2368,11 @@ static void usbpd_sm(struct work_struct *w)
|
|||
case PE_SNK_READY:
|
||||
if (IS_DATA(rx_msg, MSG_SOURCE_CAPABILITIES)) {
|
||||
/* save the PDOs so userspace can further evaluate */
|
||||
memcpy(&pd->received_pdos, rx_msg->payload,
|
||||
memset(&pd->received_pdos, 0,
|
||||
sizeof(pd->received_pdos));
|
||||
memcpy(&pd->received_pdos, rx_msg->payload,
|
||||
min_t(size_t, rx_msg->data_len,
|
||||
sizeof(pd->received_pdos)));
|
||||
pd->src_cap_id++;
|
||||
|
||||
usbpd_set_state(pd, PE_SNK_EVALUATE_CAPABILITY);
|
||||
|
|
Loading…
Add table
Reference in a new issue