gallium/aux/tgsi/tgsi_parse.c: Fix two warnings
authorGert Wollny <gert.wollny@collabora.com>
Tue, 5 Jun 2018 11:58:47 +0000 (13:58 +0200)
committerGert Wollny <gw.fossdev@gmail.com>
Wed, 20 Jun 2018 09:08:28 +0000 (11:08 +0200)
tgsi_parse.c: In function 'tgsi_parse_free':
tgsi_parse.c:54:31: warning: unused parameter 'ctx' [-Wunused-parameter]
    struct tgsi_parse_context *ctx )
                               ^~~
tgsi_parse.c: In function 'tgsi_parse_end_of_tokens':
tgsi_parse.c:62:25: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
    return ctx->Position >=

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
src/gallium/auxiliary/tgsi/tgsi_parse.c

index c706fc8ae2e11280401986c6a412ef0bbf38665c..65f7e74e116cf49016f3f28a9bcaaa88ed234033 100644 (file)
@@ -51,7 +51,7 @@ tgsi_parse_init(
 
 void
 tgsi_parse_free(
-   struct tgsi_parse_context *ctx )
+   UNUSED struct tgsi_parse_context *ctx )
 {
 }
 
@@ -59,8 +59,12 @@ boolean
 tgsi_parse_end_of_tokens(
    struct tgsi_parse_context *ctx )
 {
-   return ctx->Position >=
-      ctx->FullHeader.Header.HeaderSize + ctx->FullHeader.Header.BodySize;
+   /* All values involved are unsigned, but the sum will be promoted to
+    * a signed value (at least on 64 bit). To capture a possible overflow
+    * make it a signed comparison.
+    */
+   return (int)ctx->Position >=
+        ctx->FullHeader.Header.HeaderSize + ctx->FullHeader.Header.BodySize;
 }