On 01/14/2013 10:47 PM, Vinson Lee wrote:
On Mon, Jan 14, 2013 at 7:24 AM, Brian Paul<[email protected]>  wrote:
On 01/11/2013 12:28 AM, Vinson Lee wrote:

Fixes sizeof not portable defect reported by Coverity.

Fixes allocator sizeof operand mismatch bug reported by Clang Static
Analyzer.

Signed-off-by: Vinson Lee<[email protected]>
---
   tests/texturing/shaders/texelFetch.c | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/texturing/shaders/texelFetch.c
b/tests/texturing/shaders/texelFetch.c
index 78a4162..50e91a6 100644
--- a/tests/texturing/shaders/texelFetch.c
+++ b/tests/texturing/shaders/texelFetch.c
@@ -297,7 +297,7 @@ generate_texture()
         expected_colors = calloc(miplevels, sizeof(float **));

         for (l = 0; l<   miplevels; l++) {
-               expected_colors[l] = calloc(level_size[l][2], sizeof(float
**));
+               expected_colors[l] = calloc(level_size[l][2], sizeof(float
*));

                 i_ptr = i_level =
                         malloc(level_size[l][0] * level_size[l][1] *


Since expected_colors is declared as

float ***expected_colors;

sizeof(float **) would seem to be the right expression.  But sizeof(float *)
is the same size so I guess this is OK.  Maybe put a comment there saying
"use sizeof(float *) to silence Clang Static Analyzer warning".

Reviewed-by: Brian Paul<[email protected]>

I think both Coverity and Clang are correct here and no comment is needed.

The calloc in question is for expected_colors[l] and not for
expected_colors. expected_colors[l] is of type float** and the
allocation should be a multiple of sizeof(float *)

Yes, you're right.  Thanks.

-Brian



_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to