From 9d90ac352d409c6cda7598a4cfbb79c2b9f75754 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Mon, 1 Jul 2019 21:42:56 +1000 Subject: [PATCH] util: Fix off-by-one error in message about overflow len includes space for the NUL character, so the calculation needs to take the NUL character into account. While touching this, drop unnecessary casts by updating format string and update to modern debug macro. Signed-off-by: Martin Schwenke Reviewed-by: Andrew Bartlett Autobuild-User(master): Andrew Bartlett Autobuild-Date(master): Fri Jul 5 02:24:52 UTC 2019 on sn-devel-184 --- lib/util/substitute.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/util/substitute.c b/lib/util/substitute.c index 0ddab179588..2d88e97fd19 100644 --- a/lib/util/substitute.c +++ b/lib/util/substitute.c @@ -66,10 +66,11 @@ static void string_sub2(char *s,const char *pattern, const char *insert, size_t while (lp <= ls && (p = strstr_m(s,pattern))) { if (ls + li - lp >= len) { - DEBUG(0,("ERROR: string overflow by " - "%d in string_sub(%.50s, %d)\n", - (int)(ls + li - lp - len), - pattern, (int)len)); + DBG_ERR("ERROR: string overflow by " + "%zu in string_sub(%.50s, %zu)\n", + ls + li - lp + 1 - len, + pattern, + len); break; } if (li != lp) { @@ -193,10 +194,11 @@ _PUBLIC_ void all_string_sub(char *s,const char *pattern,const char *insert, siz while (lp <= ls && (p = strstr_m(s,pattern))) { if (ls + li - lp >= len) { - DEBUG(0,("ERROR: string overflow by " - "%d in all_string_sub(%.50s, %d)\n", - (int)(ls + li - lp - len), - pattern, (int)len)); + DBG_ERR("ERROR: string overflow by " + "%zu in all_string_sub(%.50s, %zu)\n", + ls + li - lp + 1 - len, + pattern, + len); break; } if (li != lp) { -- 2.47.3