jcs
/subtext
/amendments
/648
serial: Fix off-by-one
jcs made amendment 648 1 day ago
--- serial.c Thu Dec 11 17:46:31 2025
+++ serial.c Tue Sep 22 15:37:32 2026
@@ -358,15 +358,15 @@ serial_get_line(bool wait)
maybe_read:
/* append as much new data as we can fit */
- if (serial_input_buf_len < sizeof(serial_input_buf)) {
+ if (serial_input_buf_len < sizeof(serial_input_buf) - 1) {
error = SerGetBuf(serial_in_refnum, &len);
if (error != 0) {
logger_printf("[modem] SerGetBuf returned %d", error);
return NULL;
}
if (len) {
- len = MIN(len, sizeof(serial_input_buf) -
- serial_input_buf_len - 1);
+ len = MIN(len, sizeof(serial_input_buf) - 1 -
+ serial_input_buf_len);
FSRead(serial_in_refnum, &len,
serial_input_buf + serial_input_buf_len);
serial_input_buf[serial_input_buf_len + len] = '\0';