]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r361827:
authorhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 8 Jun 2020 09:34:16 +0000 (09:34 +0000)
committerhselasky <hselasky@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 8 Jun 2020 09:34:16 +0000 (09:34 +0000)
commit3d00e7932c9d76bbb09b9275318b21234984b009
treef50c944d83a5db1fe356d475523215882937b52b
parent97a9901f63d23d076a6d9d996a167ac4235c04aa
MFC r361827:
USB HID descriptors may push/pop the current state to allow
description of items residing in a so-called union. FreeBSD currently
only supports 4 such push levels.

If the push level is not restored within the processing of the same
HID item, an invalid memory location may be used for subsequent HID
item processing.

Verify that the push level is always valid when processing HID items.

Reported by: Andy Nguyen (Google)
Sponsored by: Mellanox Technologies

git-svn-id: svn://svn.freebsd.org/base/stable/10@361921 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
lib/libusbhid/parse.c
sys/dev/usb/usb_hid.c