Skip to content

Commit 882f5b7

Browse files
committed
stm32: cdcacm: fix array out of bounds write
Remove debug leftovers that were causing memory corruption. Writes of 64 or more bytes from the USB host side caused memory corruption before this commit. I've tested it in a STM32L4 board and it is working as expected.
1 parent 4b4115f commit 882f5b7

6 files changed

Lines changed: 0 additions & 6 deletions

File tree

examples/stm32/f1/lisa-m-1/usb_cdcacm/cdcacm.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,6 @@ static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)
213213
if (len) {
214214
while (usbd_ep_write_packet(usbd_dev, 0x82, buf, len) == 0)
215215
;
216-
buf[len] = 0;
217216
}
218217

219218
gpio_toggle(GPIOC, GPIO5);

examples/stm32/f1/other/usb_cdcacm/cdcacm.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,6 @@ static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)
212212

213213
if (len) {
214214
usbd_ep_write_packet(usbd_dev, 0x82, buf, len);
215-
buf[len] = 0;
216215
}
217216
}
218217

examples/stm32/f1/stm32-h103/usb_cdcacm/cdcacm.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,6 @@ static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)
212212

213213
if (len) {
214214
usbd_ep_write_packet(usbd_dev, 0x82, buf, len);
215-
buf[len] = 0;
216215
}
217216
}
218217

examples/stm32/f1/stm32-maple/usb_cdcacm/cdcacm.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,6 @@ static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)
213213

214214
if (len) {
215215
usbd_ep_write_packet(usbd_dev, 0x82, buf, len);
216-
buf[len] = 0;
217216
}
218217
}
219218

examples/stm32/f1/waveshare-open103r/usbserial/usbserial.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,6 @@ static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)
224224

225225
if (len) {
226226
usbd_ep_write_packet(usbd_dev, 0x82, buf, len);
227-
buf[len] = 0;
228227
}
229228
}
230229

examples/stm32/f3/stm32f3-discovery/usb_cdcacm/cdcacm.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,6 @@ static void cdcacm_data_rx_cb(usbd_device *usbd_dev, uint8_t ep)
212212

213213
if (len) {
214214
usbd_ep_write_packet(usbd_dev, 0x82, buf, len);
215-
buf[len] = 0;
216215
}
217216
}
218217

0 commit comments

Comments
 (0)