From: Martin Schwenke Date: Mon, 1 Jul 2019 11:42:56 +0000 (+1000) Subject: util: Fix off-by-one error in message about overflow X-Git-Tag: samba-4.11.0rc1~75 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9d90ac352d409c6cda7598a4cfbb79c2b9f75754;p=thirdparty%2Fsamba.git 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 --- 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) {