<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cherryusb.git/core, branch dev</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/cherryusb.git/atom/core?h=dev</id>
<link rel='self' href='http://cgit.235523.xyz/cherryusb.git/atom/core?h=dev'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/'/>
<updated>2026-10-23T10:29:36Z</updated>
<entry>
<title>fix(security): check array overflow</title>
<updated>2026-10-23T10:29:36Z</updated>
<author>
<name>sakumisu</name>
<email>1203593632@qq.com</email>
</author>
<published>2026-10-22T04:41:45Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=2397226c48fea88bdb742651f9280f47eef3197a'/>
<id>urn:sha1:2397226c48fea88bdb742651f9280f47eef3197a</id>
<content type='text'>
Signed-off-by: sakumisu &lt;1203593632@qq.com&gt;
</content>
</entry>
<entry>
<title>feat: add register driver api, support multi host &amp; device with different ip</title>
<updated>2026-09-26T14:02:03Z</updated>
<author>
<name>sakumisu</name>
<email>1203593632@qq.com</email>
</author>
<published>2026-09-26T12:11:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=0e129121f08e87b857c981b7dbb7943b63d75e39'/>
<id>urn:sha1:0e129121f08e87b857c981b7dbb7943b63d75e39</id>
<content type='text'>
Signed-off-by: sakumisu &lt;1203593632@qq.com&gt;
</content>
</entry>
<entry>
<title>style: fix format</title>
<updated>2026-09-22T10:06:49Z</updated>
<author>
<name>sakumisu</name>
<email>1203593632@qq.com</email>
</author>
<published>2026-09-22T10:06:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=eedf392c4d747b4d757fa3d6719ff1185cdec112'/>
<id>urn:sha1:eedf392c4d747b4d757fa3d6719ff1185cdec112</id>
<content type='text'>
Signed-off-by: sakumisu &lt;1203593632@qq.com&gt;
</content>
</entry>
<entry>
<title>feat(core/usbd_core): add get speed api</title>
<updated>2026-09-20T08:38:11Z</updated>
<author>
<name>sakumisu</name>
<email>1203593632@qq.com</email>
</author>
<published>2026-09-20T08:38:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=327964ea1c65f6766692c586bec67530cc45e17c'/>
<id>urn:sha1:327964ea1c65f6766692c586bec67530cc45e17c</id>
<content type='text'>
Signed-off-by: sakumisu &lt;1203593632@qq.com&gt;
</content>
</entry>
<entry>
<title>feat(core/usbd_core): add usb3 config &amp; desc &amp; request</title>
<updated>2026-09-13T14:36:34Z</updated>
<author>
<name>sakumisu</name>
<email>1203593632@qq.com</email>
</author>
<published>2026-09-13T14:21:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=ef198ee64a3dc4dc7237f017e59f435a407593a8'/>
<id>urn:sha1:ef198ee64a3dc4dc7237f017e59f435a407593a8</id>
<content type='text'>
Signed-off-by: sakumisu &lt;1203593632@qq.com&gt;
</content>
</entry>
<entry>
<title>fix(core/usbh_core): fix sizeof to int</title>
<updated>2026-09-11T03:44:41Z</updated>
<author>
<name>sakumisu</name>
<email>1203593632@qq.com</email>
</author>
<published>2026-09-11T03:35:14Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=7861622607fd526e7d7278f476b9d19d29671cbd'/>
<id>urn:sha1:7861622607fd526e7d7278f476b9d19d29671cbd</id>
<content type='text'>
Signed-off-by: sakumisu &lt;1203593632@qq.com&gt;
</content>
</entry>
<entry>
<title>fix(security): check usbh_control_transfer return value when bmRequestType is USB_REQUEST_DIR_IN</title>
<updated>2026-08-31T06:16:56Z</updated>
<author>
<name>sakumisu</name>
<email>1203593632@qq.com</email>
</author>
<published>2026-08-31T04:17:38Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=ff1c3ce3877ba24a986c3ba110f907a8786ea9c1'/>
<id>urn:sha1:ff1c3ce3877ba24a986c3ba110f907a8786ea9c1</id>
<content type='text'>
Signed-off-by: sakumisu &lt;1203593632@qq.com&gt;
</content>
</entry>
<entry>
<title>fix(security): add check for sem&amp;mq&amp;thread and delete remain sources if alloc fail</title>
<updated>2026-08-03T09:56:46Z</updated>
<author>
<name>sakumisu</name>
<email>1203593632@qq.com</email>
</author>
<published>2026-08-03T09:56:46Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=3d14b52425f24f46df6254ac0b824e365e33e10a'/>
<id>urn:sha1:3d14b52425f24f46df6254ac0b824e365e33e10a</id>
<content type='text'>
Signed-off-by: sakumisu &lt;1203593632@qq.com&gt;
</content>
</entry>
<entry>
<title>fix(usbh): bounds-check cur_ep before writing ep[] in parse_config_descriptor (#426)</title>
<updated>2026-07-17T01:43:01Z</updated>
<author>
<name>yi chen</name>
<email>87560781+94xhn@users.noreply.github.com</email>
</author>
<published>2026-07-17T01:43:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=5bfaf7e3fc542db6624fc51cceccbb1d92d8706c'/>
<id>urn:sha1:5bfaf7e3fc542db6624fc51cceccbb1d92d8706c</id>
<content type='text'>
* fix(usbh): check cur_ep against CONFIG_USBHOST_MAX_ENDPOINTS before writing ep[]

parse_config_descriptor() checks cur_ep_num (the interface descriptor's
self-declared bNumEndpoints) against CONFIG_USBHOST_MAX_ENDPOINTS when
the INTERFACE descriptor is parsed, but cur_ep (the actual write index,
incremented once per ENDPOINT sub-descriptor encountered in the byte
stream) is never bounds-checked in the USB_DESCRIPTOR_TYPE_ENDPOINT
case before the memcpy.

A non-conformant or malicious device can declare a small bNumEndpoints
while still emitting more ENDPOINT descriptors than declared in the
raw config descriptor byte stream, causing cur_ep to exceed
CONFIG_USBHOST_MAX_ENDPOINTS and the memcpy to write past the ep[]
array, past altsetting[], and potentially past the whole
usbh_configuration struct.

Add the same bounds check pattern already used for cur_iface and
cur_alt_setting two cases above, applied to cur_ep before the memcpy.

* Allow interfaces to use configured capacity

Endpoint counts are quantities, so a declaration equal to the endpoint array capacity is valid. The per-index guard still rejects descriptors that contain more endpoint records than the storage can hold.

Constraint: Preserve the new cur_ep index guard

Confidence: high

Scope-risk: narrow

Tested: Real parser matrix for declared/actual 3/3, 4/4, 5/5, and 3/5; MinGW and WSL GCC13 ASan+UBSan

Not-tested: Physical USB device enumeration</content>
</entry>
<entry>
<title>fix(security): check desc len overflow</title>
<updated>2026-07-14T02:54:43Z</updated>
<author>
<name>sakumisu</name>
<email>1203593632@qq.com</email>
</author>
<published>2026-07-14T02:54:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/cherryusb.git/commit/?id=bce3346209445d8e8f9d60860c3e7ff6936d12b3'/>
<id>urn:sha1:bce3346209445d8e8f9d60860c3e7ff6936d12b3</id>
<content type='text'>
Signed-off-by: sakumisu &lt;1203593632@qq.com&gt;
</content>
</entry>
</feed>
