Klipper is a 3d-printer firmware
Find a file
Kevin O'Connor 3f72e519ed atsamd: Fix possible buffer overflow in usbserial.c
The USB buffer size register PCKSIZE.SIZE was not being assigned
correctly.  As a result, it was possible for an incoming USB
transmission to write past the allocated buffer space, which could
corrupt memory of other storage.  In particular, in some cases gcc may
layout ram in such a way that the trailing bytes of an incoming
message might overlap the buffer for an outgoing message.  This could
cause sporadic transmit errors and unstable connections.

Fix by correctly configuring the PCKSIZE.SIZE register.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2025-12-17 10:18:39 -05:00
.github workflows: Update github build-test.yaml to ubuntu-22.04 2025-04-16 13:19:54 -04:00
config config: Clarify configuration settings for Ender 5 Pro (#7126) 2025-12-09 13:15:15 -05:00
docs docs: Update AHT family sensors documentation 2025-11-30 16:50:11 -05:00
klippy serialqueue: Make 31-bit clock overflow check a little more robust 2025-12-14 15:55:57 -05:00
lib lib: Update pico-sdk to v2.2.0 2025-12-17 10:12:52 -05:00
scripts shaper_calibrate: Reworked multi-file shaper autocalibration 2025-11-21 17:48:56 -05:00
src atsamd: Fix possible buffer overflow in usbserial.c 2025-12-17 10:18:39 -05:00
test generic_cartesian: Added option 'axis' for primary carriages 2025-11-25 18:12:43 -05:00
.gitignore util: Fix versioning when gitdir is absent (#809) 2018-10-27 10:44:38 -04:00
COPYING COPYING: Update GPLv3 license to latest text (uses https instead of http) 2022-06-03 11:28:44 -04:00
Makefile Revert "Makefile: Don't disable gcc's use-linker-plugin option" 2025-04-16 15:24:05 -04:00
README.md docs: Improve wording of main Klipper page 2025-01-21 18:54:00 -05:00

Welcome to the Klipper project!

Klipper

https://www.klipper3d.org/

The Klipper firmware controls 3d-Printers. It combines the power of a general purpose computer with one or more micro-controllers. See the features document for more information on why you should use the Klipper software.

Start by installing Klipper software.

Klipper software is Free Software. See the license or read the documentation. We depend on the generous support from our sponsors.