On Mon, Nov 7, 2016 at 2:29 PM, Dylan Baker <[email protected]> wrote:
> Quoting Vinson Lee (2016-11-07 14:03:41)
>> On Mon, Nov 7, 2016 at 10:03 AM, Dylan Baker <[email protected]> wrote:
>> > Quoting Vinson Lee (2016-11-04 16:30:39)
>> >> Fix Coverity unchecked return value defect.
>> >>
>> >> CID: 1373655
>> >> Signed-off-by: Vinson Lee <[email protected]>
>> >> ---
>> >>  tests/shaders/shader_runner.c | 7 ++++++-
>> >>  1 file changed, 6 insertions(+), 1 deletion(-)
>> >>
>> >> diff --git a/tests/shaders/shader_runner.c b/tests/shaders/shader_runner.c
>> >> index 02a6cd7cda82..62fc8120a30c 100644
>> >> --- a/tests/shaders/shader_runner.c
>> >> +++ b/tests/shaders/shader_runner.c
>> >> @@ -2769,8 +2769,13 @@ handle_texparameter(const char *line)
>> >>                 return;
>> >>         } else if (string_match("border_color ", line)) {
>> >>                 float bc[4];
>> >> +               int count;
>> >>                 line += strlen("border_color ");
>> >> -               sscanf(line, "%f %f %f %f", &bc[0], &bc[1], &bc[2], 
>> >> &bc[3]);
>> >> +               count = sscanf(line, "%f %f %f %f", &bc[0], &bc[1], 
>> >> &bc[2], &bc[3]);
>> >> +               if (count != 4) {
>> >> +                       fprintf(stderr, "Could not parse border_color 
>> >> texture parameter.\n");
>> >> +                       piglit_report_result(PIGLIT_FAIL);
>> >
>> > This breaks running more than one shader test at a time.
>> > This should be "result = PIGLIT_FAIL;"
>> >
>>
>> There is no result to be returned by handle_texparameter though and
>> the final else statement also reports PIGLIT_FAIL.
>>
>> >> +               }
>> >>                 glTexParameterfv(target, GL_TEXTURE_BORDER_COLOR, bc);
>> >>                 return;
>> >>         } else if (string_match("swizzle_r ", line)) {
>> >> --
>> >> 2.7.4
>> >>
>> >> _______________________________________________
>> >> Piglit mailing list
>> >> [email protected]
>> >> https://lists.freedesktop.org/mailman/listinfo/piglit
>
> Right, but currently the function doesn't piglit_report_result except with
> PIGLIT_SKIP, which has an explicit workaround because it can get raised in low
> levels of the framework. This will break running more than one shader test at 
> a
> time if it hits the piglit_report_result you're adding.

PIGLIT_FAIL is reported several lines down in shader_runner.c:2783.
_______________________________________________
Piglit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to