From: José Fonseca Date: Tue, 22 Apr 2014 11:32:17 +0000 (+0100) Subject: util/u_debug: Pass correct size to strncat. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7a8667f2b34cfd1a3b01f1dbd519d03c58cec526;p=mesa.git util/u_debug: Pass correct size to strncat. Courtesy of Clang static analyzer. Reviewed-by: Brian Paul Reviewed-by: Roland Scheidegger --- diff --git a/src/gallium/auxiliary/util/u_debug.c b/src/gallium/auxiliary/util/u_debug.c index fe517175eb1..dc840e8566c 100644 --- a/src/gallium/auxiliary/util/u_debug.c +++ b/src/gallium/auxiliary/util/u_debug.c @@ -334,10 +334,10 @@ debug_dump_flags(const struct debug_named_value *names, while(names->name) { if((names->value & value) == names->value) { if (!first) - util_strncat(output, "|", sizeof(output)); + util_strncat(output, "|", sizeof(output) - strlen(output) - 1); else first = 0; - util_strncat(output, names->name, sizeof(output) - 1); + util_strncat(output, names->name, sizeof(output) - strlen(output) - 1); output[sizeof(output) - 1] = '\0'; value &= ~names->value; } @@ -346,12 +346,12 @@ debug_dump_flags(const struct debug_named_value *names, if (value) { if (!first) - util_strncat(output, "|", sizeof(output)); + util_strncat(output, "|", sizeof(output) - strlen(output) - 1); else first = 0; util_snprintf(rest, sizeof(rest), "0x%08lx", value); - util_strncat(output, rest, sizeof(output) - 1); + util_strncat(output, rest, sizeof(output) - strlen(output) - 1); output[sizeof(output) - 1] = '\0'; }