From: Tobias Oetiker Date: Tue, 26 May 2026 15:35:03 +0000 (+0200) Subject: Merge branch 'master' into fix-1291-xgrid-segfault X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=f2b7f673a948a045f85b6875a2fecd80fdced209;p=thirdparty%2Frrdtool-1.x.git Merge branch 'master' into fix-1291-xgrid-segfault --- f2b7f673a948a045f85b6875a2fecd80fdced209 diff --cc CHANGES index fe9ac1c2,7a7fd94e..442d561c --- a/CHANGES +++ b/CHANGES @@@ -3,14 -3,11 +3,19 @@@ RRDtool - master .. ==================== Bugfixes -------- +* Fix segfault when `--x-grid` is given without a trailing date-format + field. The `%n` conversion in `sscanf()` is not counted in its return + value, so `stroff` remained uninitialized when the input ended before + the final `:` separator; the subsequent `stroff != 0` guard read + garbage and could branch into `strdup()` with a bogus offset. Fixed by + initialising `stroff = 0` so a partial match safely falls through to + the existing "invalid x-grid format" error path. Issue #1291 + reported by @anvilvapre, fixed by @oetiker + * libdbi /derive now returns 0 instead of NaN when the underlying + counter is constant (zero delta). Previously the strict `d_value > 0` + guard skipped zero deltas the same way it skips negative ones (counter + resets). Changed to `d_value >= 0`. Issue #550 reported by + @bitionaire, fix by @oetiker. * Fix a 1-byte heap buffer overflow in `checkUnusedValues()` that triggered `*** buffer overflow detected ***` SIGABRT under glibc fortified `strcat()` when reporting unused graph arguments. The