fix desc_end in vendord_open() #3020
Merged
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
minor fix on calculation of desc_end in vendord_open( ) for descriptor prasing
Describe the PR
fix
desc_end
calculationIn vendor device class, function
vendord_open()
Additional context
In vendor_device.c, original code
https://github.com/hathach/tinyusb/blob/master/src/class/vendor/vendor_device.c
desc_end
is calaulated byp_desc + max_len
which isu_desc_next(desc_itf) + max_len
,but parameter
max_len
include length ofdesc_itf
,which make
desc_end
exceed the real end of descriptor by length ofdesc_itf
It won't cause issue since while loop stopped when all endpoints are founded
But error may occur when trying to peek descriptors after last endpoint
Since vendor_device is an ideal reference for developing new USB function
I suppose it'll be better to do the minor fix
Encountered this when I try to check if next interface an AlternateSetting of current interface
thanks.