From de3244e26c056aa17f890101ce4e9eff814667c1 Mon Sep 17 00:00:00 2001 From: Peter Barker Date: Thu, 6 Sep 2018 12:16:41 +1000 Subject: [PATCH] AP_OSD: account for snprintf now null-terminating strings --- libraries/AP_OSD/AP_OSD_Backend.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/AP_OSD/AP_OSD_Backend.cpp b/libraries/AP_OSD/AP_OSD_Backend.cpp index 208c7f4dcb..a22adfe0e4 100644 --- a/libraries/AP_OSD/AP_OSD_Backend.cpp +++ b/libraries/AP_OSD/AP_OSD_Backend.cpp @@ -28,7 +28,7 @@ void AP_OSD_Backend::write(uint8_t x, uint8_t y, bool blink, const char *fmt, .. if (blink && (blink_phase < 2)) { return; } - char buff[32]; + char buff[32+1]; // +1 for snprintf null-termination va_list ap; va_start(ap, fmt); int res = hal.util->vsnprintf(buff, sizeof(buff), fmt, ap); @@ -43,7 +43,7 @@ void AP_OSD_Backend::write(uint8_t x, uint8_t y, bool blink, const char *fmt, .. res--; } } - if (res < int(sizeof(buff))) { + if (res < int(sizeof(buff))-1) { write(x, y, buff); } va_end(ap);