[Piglit] [PATCH] gl-3.2-adj-prims: Fix reference of out-of-scope data.
Vinson Lee
vlee at freedesktop.org
Thu Jul 14 19:10:36 UTC 2016
On Wed, Jul 13, 2016 at 7:10 PM, Brian Paul <brianp at vmware.com> wrote:
> On 07/13/2016 05:54 PM, Vinson Lee wrote:
>>
>> Fix pointer to local outside scope defect reported by Coverity.
>>
>> CID: 1362489
>> Fixes: 67db7e28be1f ("gl-3.2-adj-prims: new test of adjacency primitives
>> with rendering options")
>> Signed-off-by: Vinson Lee <vlee at freedesktop.org>
>> ---
>> tests/spec/gl-3.2/adj-prims.c | 15 +++++++++++----
>> 1 file changed, 11 insertions(+), 4 deletions(-)
>>
>> diff --git a/tests/spec/gl-3.2/adj-prims.c b/tests/spec/gl-3.2/adj-prims.c
>> index 2df764e66d49..9d2f121f2a39 100644
>> --- a/tests/spec/gl-3.2/adj-prims.c
>> +++ b/tests/spec/gl-3.2/adj-prims.c
>> @@ -302,7 +302,9 @@ probe_prims(GLenum prim_mode, const float verts[][2],
>> unsigned num_verts,
>>
>> for (prim = 0; prim < num_prims; prim++) {
>> bool pass = false;
>> - const float *expected_color = NULL, *bad_color = NULL;
>> + const float *expected_color = NULL;
>> + float bad_color[4];
>> + bool bad_color_found = false;
>> int x, y, i;
>>
>> compute_probe_location(prim_mode, prim, verts,
>> @@ -333,8 +335,13 @@ probe_prims(GLenum prim_mode, const float verts[][2],
>> unsigned num_verts,
>> // check for expected color
>> if (colors_match(expected_color,
>> buf[i]))
>> pass = true;
>> - else
>> - bad_color = buf[i];
>> + else {
>> + bad_color_found = true;
>> + bad_color[0] = buf[i][0];
>> + bad_color[1] = buf[i][1];
>> + bad_color[2] = buf[i][2];
>> + bad_color[3] = buf[i][3];
>> + }
>> }
>> }
>> }
>> @@ -343,7 +350,7 @@ probe_prims(GLenum prim_mode, const float verts[][2],
>> unsigned num_verts,
>> printf("Failure for %s, "
>> "prim %u wrong color at (%d,%d)\n",
>> piglit_get_prim_name(prim_mode), prim, x,
>> y);
>> - if (expected_color && bad_color) {
>> + if (expected_color && bad_color_found) {
>> printf("Expected %.1g, %.1g, %.1g,
>> %.1g\n",
>> expected_color[0],
>> expected_color[1],
>>
>
> Alternately, could we move the declaration of bad_color to the top of the
> function?
>
> But this is OK too.
>
> Reviewed-by: Brian Paul <brianp at vmware.com>
>
>
It was the assignment of bad_color to buf and then the use of
bad_color after buf was out-of-scope that was the issue. We can move
the declaration of buf to the top of the function if that is
preferred.
More information about the Piglit
mailing list