Mesa (master): util/u_debug: Pass correct size to strncat.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Apr 23 18:12:59 UTC 2014


Module: Mesa
Branch: master
Commit: 7a8667f2b34cfd1a3b01f1dbd519d03c58cec526
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a8667f2b34cfd1a3b01f1dbd519d03c58cec526

Author: José Fonseca <jfonseca at vmware.com>
Date:   Tue Apr 22 12:32:17 2014 +0100

util/u_debug: Pass correct size to strncat.

Courtesy of Clang static analyzer.

Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>

---

 src/gallium/auxiliary/util/u_debug.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_debug.c b/src/gallium/auxiliary/util/u_debug.c
index fe51717..dc840e8 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';
    }
    




More information about the mesa-commit mailing list