nvc0: check return value of nvc0_program_validate()
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 14 Dec 2015 17:07:33 +0000 (18:07 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 14 Dec 2015 18:08:42 +0000 (19:08 +0100)
Spotted by Coverity.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/nvc0/nvc0_shader_state.c

index 7e2e9992fe836e24c1769c7a14df2f3a88a1bb07..5e84ca9e0eaa2ea9685aeb873f5898d30bacbc30 100644 (file)
@@ -236,11 +236,8 @@ nvc0_gmtyprog_validate(struct nvc0_context *nvc0)
    struct nouveau_pushbuf *push = nvc0->base.pushbuf;
    struct nvc0_program *gp = nvc0->gmtyprog;
 
-   if (gp)
-      nvc0_program_validate(nvc0, gp);
-
    /* we allow GPs with no code for specifying stream output state only */
-   if (gp && gp->code_size) {
+   if (gp && nvc0_program_validate(nvc0, gp) && gp->code_size) {
       const bool gp_selects_layer = !!(gp->hdr[13] & (1 << 9));
 
       BEGIN_NVC0(push, NVC0_3D(MACRO_GP_SELECT), 1);