Mesa (master): Remove useless checks for NULL before freeing

Matt Turner mattst88 at kemper.freedesktop.org
Thu Sep 6 05:29:05 UTC 2012


Module: Mesa
Branch: master
Commit: b6109de34f04747ed2937a2e63c1f53740202d3e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6109de34f04747ed2937a2e63c1f53740202d3e

Author: Matt Turner <mattst88 at gmail.com>
Date:   Tue Sep  4 23:33:28 2012 -0700

Remove useless checks for NULL before freeing

Same as earlier commit, except for "FREE"

This patch has been generated by the following Coccinelle semantic
patch:

// Remove useless checks for NULL before freeing
//
// free (NULL) is a no-op, so there is no need to avoid it

@@
expression E;
@@
+ FREE (E);
+ E = NULL;
- if (unlikely (E != NULL)) {
-   FREE(E);
(
-   E = NULL;
|
-   E = 0;
)
   ...
- }

@@
expression E;
type T;
@@
+ FREE ((T) E);
+ E = NULL;
- if (unlikely (E != NULL)) {
-   FREE((T) E);
(
-   E = NULL;
|
-   E = 0;
)
   ...
- }

@@
expression E;
@@
+ FREE (E);
- if (unlikely (E != NULL)) {
-   FREE (E);
- }

@@
expression E;
type T;
@@
+ FREE ((T) E);
- if (unlikely (E != NULL)) {
-   FREE ((T) E);
- }

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/gallium/auxiliary/draw/draw_gs.c               |    4 +--
 src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c    |    3 +-
 src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c  |    6 +---
 src/gallium/auxiliary/tgsi/tgsi_exec.c             |   22 +++++--------------
 src/gallium/auxiliary/util/u_draw_quad.c           |    3 +-
 src/gallium/auxiliary/util/u_format.c              |    8 +-----
 src/gallium/drivers/i915/i915_resource_texture.c   |    3 +-
 src/gallium/drivers/i915/i915_state.c              |    7 ++---
 src/gallium/drivers/llvmpipe/lp_texture.c          |    4 +--
 src/gallium/drivers/nv30/nvfx_fragprog.c           |   10 +++-----
 src/gallium/drivers/nv50/nv50_program.c            |   12 +++-------
 src/gallium/drivers/nv50/nv50_screen.c             |    6 +---
 src/gallium/drivers/nvc0/nvc0_program.c            |   12 +++-------
 src/gallium/drivers/nvc0/nvc0_screen.c             |    6 +---
 src/gallium/drivers/r300/r300_screen_buffer.c      |    3 +-
 src/gallium/drivers/r300/r300_state.c              |    3 +-
 src/gallium/state_trackers/egl/common/egl_g3d.c    |    9 ++-----
 src/gallium/state_trackers/egl/drm/modeset.c       |    6 +---
 src/gallium/state_trackers/egl/drm/native_drm.c    |    6 +---
 src/gallium/state_trackers/egl/gdi/native_gdi.c    |    3 +-
 .../state_trackers/egl/wayland/native_drm.c        |    6 +---
 .../state_trackers/egl/wayland/native_shm.c        |    3 +-
 src/gallium/state_trackers/egl/x11/native_dri2.c   |    9 ++-----
 src/gallium/state_trackers/egl/x11/native_ximage.c |    3 +-
 src/gallium/state_trackers/vega/text.c             |    3 +-
 src/gallium/state_trackers/wgl/stw_device.c        |    3 +-
 src/gallium/targets/graw-xlib/graw_xlib.c          |    3 +-
 src/gallium/winsys/sw/dri/dri_sw_winsys.c          |    4 +--
 28 files changed, 55 insertions(+), 115 deletions(-)

diff --git a/src/gallium/auxiliary/draw/draw_gs.c b/src/gallium/auxiliary/draw/draw_gs.c
index b2b4087..c564726 100644
--- a/src/gallium/auxiliary/draw/draw_gs.c
+++ b/src/gallium/auxiliary/draw/draw_gs.c
@@ -435,9 +435,7 @@ int draw_geometry_shader_run(struct draw_geometry_shader *shader,
    shader->in_prim_idx = 0;
    shader->input_vertex_stride = input_stride;
    shader->input = input;
-   if (shader->primitive_lengths) {
-      FREE(shader->primitive_lengths);
-   }
+   FREE(shader->primitive_lengths);
    shader->primitive_lengths = MALLOC(max_out_prims * sizeof(unsigned));
 
    tgsi_exec_set_constant_buffers(machine, PIPE_MAX_CONSTANT_BUFFERS,
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c
index fe96e5c..453cf45 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c
@@ -287,8 +287,7 @@ if(mm->heap)
    u_mmDestroy(mm->heap);
    if(mm->map)
       pb_unmap(mm->buffer);
-   if(mm)
-      FREE(mm);
+   FREE(mm);
    return NULL;
 }
 
diff --git a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c
index a8e9a34..67a19fe 100644
--- a/src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c
+++ b/src/gallium/auxiliary/pipebuffer/pb_bufmgr_pool.c
@@ -311,13 +311,11 @@ pool_bufmgr_create(struct pb_manager *provider,
    return SUPER(pool);
    
 failure:
-   if(pool->bufs)
-      FREE(pool->bufs);
+   FREE(pool->bufs);
    if(pool->map)
       pb_unmap(pool->buffer);
    if(pool->buffer)
       pb_reference(&pool->buffer, NULL);
-   if(pool)
-      FREE(pool);
+   FREE(pool);
    return NULL;
 }
diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
index 5e23f5d..68bb598 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_exec.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c
@@ -653,15 +653,11 @@ tgsi_exec_machine_bind_shader(
 
    if (!tokens) {
       /* unbind and free all */
-      if (mach->Declarations) {
-         FREE( mach->Declarations );
-      }
+      FREE(mach->Declarations);
       mach->Declarations = NULL;
       mach->NumDeclarations = 0;
 
-      if (mach->Instructions) {
-         FREE( mach->Instructions );
-      }
+      FREE(mach->Instructions);
       mach->Instructions = NULL;
       mach->NumInstructions = 0;
 
@@ -804,15 +800,11 @@ tgsi_exec_machine_bind_shader(
    }
    tgsi_parse_free (&parse);
 
-   if (mach->Declarations) {
-      FREE( mach->Declarations );
-   }
+   FREE(mach->Declarations);
    mach->Declarations = declarations;
    mach->NumDeclarations = numDeclarations;
 
-   if (mach->Instructions) {
-      FREE( mach->Instructions );
-   }
+   FREE(mach->Instructions);
    mach->Instructions = instructions;
    mach->NumInstructions = numInstructions;
 }
@@ -875,10 +867,8 @@ void
 tgsi_exec_machine_destroy(struct tgsi_exec_machine *mach)
 {
    if (mach) {
-      if (mach->Instructions)
-         FREE(mach->Instructions);
-      if (mach->Declarations)
-         FREE(mach->Declarations);
+      FREE(mach->Instructions);
+      FREE(mach->Declarations);
 
       align_free(mach->Inputs);
       align_free(mach->Outputs);
diff --git a/src/gallium/auxiliary/util/u_draw_quad.c b/src/gallium/auxiliary/util/u_draw_quad.c
index 469c874..81c4f10 100644
--- a/src/gallium/auxiliary/util/u_draw_quad.c
+++ b/src/gallium/auxiliary/util/u_draw_quad.c
@@ -151,6 +151,5 @@ out:
    if (vbuf)
       pipe_resource_reference(&vbuf, NULL);
    
-   if (v)
-      FREE(v);
+   FREE(v);
 }
diff --git a/src/gallium/auxiliary/util/u_format.c b/src/gallium/auxiliary/util/u_format.c
index 6f45298..a41c468 100644
--- a/src/gallium/auxiliary/util/u_format.c
+++ b/src/gallium/auxiliary/util/u_format.c
@@ -618,13 +618,9 @@ util_format_translate(enum pipe_format dst_format,
          src_row += src_step;
       }
 
-      if (tmp_s) {
-         FREE(tmp_s);
-      }
+      FREE(tmp_s);
 
-      if (tmp_z) {
-         FREE(tmp_z);
-      }
+      FREE(tmp_z);
 
       return;
    }
diff --git a/src/gallium/drivers/i915/i915_resource_texture.c b/src/gallium/drivers/i915/i915_resource_texture.c
index e60b5b4..603a379 100644
--- a/src/gallium/drivers/i915/i915_resource_texture.c
+++ b/src/gallium/drivers/i915/i915_resource_texture.c
@@ -705,8 +705,7 @@ i915_texture_destroy(struct pipe_screen *screen,
       iws->buffer_destroy(iws, tex->buffer);
 
    for (i = 0; i < Elements(tex->image_offset); i++)
-      if (tex->image_offset[i])
-         FREE(tex->image_offset[i]);
+      FREE(tex->image_offset[i]);
 
    FREE(tex);
 }
diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c
index fdbff8b..410615f 100644
--- a/src/gallium/drivers/i915/i915_state.c
+++ b/src/gallium/drivers/i915/i915_state.c
@@ -614,10 +614,8 @@ void i915_delete_fs_state(struct pipe_context *pipe, void *shader)
 {
    struct i915_fragment_shader *ifs = (struct i915_fragment_shader *) shader;
 
-   if (ifs->decl) {
-      FREE(ifs->decl);
-      ifs->decl = NULL;
-   }
+   FREE(ifs->decl);
+   ifs->decl = NULL;
 
    if (ifs->program) {
       FREE(ifs->program);
@@ -625,6 +623,7 @@ void i915_delete_fs_state(struct pipe_context *pipe, void *shader)
       FREE((struct tgsi_token *)ifs->state.tokens);
       ifs->state.tokens = NULL;
    }
+
    ifs->program_len = 0;
    ifs->decl_len = 0;
 
diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c
index 3604143..924881c 100644
--- a/src/gallium/drivers/llvmpipe/lp_texture.c
+++ b/src/gallium/drivers/llvmpipe/lp_texture.c
@@ -184,9 +184,7 @@ llvmpipe_texture_layout(struct llvmpipe_screen *screen,
 
 fail:
    for (level = 0; level <= pt->last_level; level++) {
-      if (lpr->layout[level]) {
-         FREE(lpr->layout[level]);
-      }
+      FREE(lpr->layout[level]);
    }
 
    return FALSE;
diff --git a/src/gallium/drivers/nv30/nvfx_fragprog.c b/src/gallium/drivers/nv30/nvfx_fragprog.c
index bfec4b3..935804e 100644
--- a/src/gallium/drivers/nv30/nvfx_fragprog.c
+++ b/src/gallium/drivers/nv30/nvfx_fragprog.c
@@ -1101,10 +1101,9 @@ nvfx_fragprog_prepare(struct nv30_context* nvfx, struct nvfx_fpc *fpc)
    return TRUE;
 
 out_err:
-   if (fpc->r_temp) {
-      FREE(fpc->r_temp);
-      fpc->r_temp = NULL;
-   }
+   FREE(fpc->r_temp);
+   fpc->r_temp = NULL;
+
    tgsi_parse_free(&p);
    return FALSE;
 }
@@ -1218,8 +1217,7 @@ out:
    tgsi_parse_free(&parse);
    if(fpc)
    {
-      if (fpc->r_temp)
-         FREE(fpc->r_temp);
+      FREE(fpc->r_temp);
       util_dynarray_fini(&fpc->if_stack);
       util_dynarray_fini(&fpc->label_relocs);
       util_dynarray_fini(&fpc->imm_data);
diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c
index 72d14a6..0d292f7 100644
--- a/src/gallium/drivers/nv50/nv50_program.c
+++ b/src/gallium/drivers/nv50/nv50_program.c
@@ -343,8 +343,7 @@ nv50_program_translate(struct nv50_program *prog, uint16_t chipset)
       NOUVEAU_ERR("shader translation failed: %i\n", ret);
       goto out;
    }
-   if (info->bin.syms) /* we don't need them yet */
-      FREE(info->bin.syms);
+   FREE(info->bin.syms);
 
    prog->code = info->bin.code;
    prog->code_size = info->bin.codeSize;
@@ -428,14 +427,11 @@ nv50_program_destroy(struct nv50_context *nv50, struct nv50_program *p)
    if (p->mem)
       nouveau_heap_free(&p->mem);
 
-   if (p->code)
-      FREE(p->code);
+   FREE(p->code);
 
-   if (p->fixups)
-      FREE(p->fixups);
+   FREE(p->fixups);
 
-   if (p->so)
-      FREE(p->so);
+   FREE(p->so);
 
    memset(p, 0, sizeof(*p));
 
diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c
index 3d510ea..beb81d6 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -267,8 +267,7 @@ nv50_screen_destroy(struct pipe_screen *pscreen)
    if (screen->base.pushbuf)
       screen->base.pushbuf->user_priv = NULL;
 
-   if (screen->blitctx)
-      FREE(screen->blitctx);
+   FREE(screen->blitctx);
 
    nouveau_bo_ref(NULL, &screen->code);
    nouveau_bo_ref(NULL, &screen->tls_bo);
@@ -281,8 +280,7 @@ nv50_screen_destroy(struct pipe_screen *pscreen)
    nouveau_heap_destroy(&screen->gp_code_heap);
    nouveau_heap_destroy(&screen->fp_code_heap);
 
-   if (screen->tic.entries)
-      FREE(screen->tic.entries);
+   FREE(screen->tic.entries);
 
    nouveau_object_del(&screen->tesla);
    nouveau_object_del(&screen->eng2d);
diff --git a/src/gallium/drivers/nvc0/nvc0_program.c b/src/gallium/drivers/nvc0/nvc0_program.c
index f228d07..9655e18 100644
--- a/src/gallium/drivers/nvc0/nvc0_program.c
+++ b/src/gallium/drivers/nvc0/nvc0_program.c
@@ -574,8 +574,7 @@ nvc0_program_translate(struct nvc0_program *prog, uint16_t chipset)
       NOUVEAU_ERR("shader translation failed: %i\n", ret);
       goto out;
    }
-   if (info->bin.syms) /* we don't need them yet */
-      FREE(info->bin.syms);
+   FREE(info->bin.syms);
 
    prog->code = info->bin.code;
    prog->code_size = info->bin.codeSize;
@@ -752,12 +751,9 @@ nvc0_program_destroy(struct nvc0_context *nvc0, struct nvc0_program *prog)
    if (prog->mem)
       nouveau_heap_free(&prog->mem);
 
-   if (prog->code)
-      FREE(prog->code);
-   if (prog->immd_data)
-      FREE(prog->immd_data);
-   if (prog->relocs)
-      FREE(prog->relocs);
+   FREE(prog->code);
+   FREE(prog->immd_data);
+   FREE(prog->relocs);
    if (prog->tfb) {
       if (nvc0->state.tfb == prog->tfb)
          nvc0->state.tfb = NULL;
diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c
index eb74e95..d448744 100644
--- a/src/gallium/drivers/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nvc0/nvc0_screen.c
@@ -256,8 +256,7 @@ nvc0_screen_destroy(struct pipe_screen *pscreen)
    if (screen->base.pushbuf)
       screen->base.pushbuf->user_priv = NULL;
 
-   if (screen->blitctx)
-      FREE(screen->blitctx);
+   FREE(screen->blitctx);
 
    nouveau_bo_ref(NULL, &screen->text);
    nouveau_bo_ref(NULL, &screen->uniform_bo);
@@ -269,8 +268,7 @@ nvc0_screen_destroy(struct pipe_screen *pscreen)
    nouveau_heap_destroy(&screen->lib_code);
    nouveau_heap_destroy(&screen->text_heap);
 
-   if (screen->tic.entries)
-      FREE(screen->tic.entries);
+   FREE(screen->tic.entries);
 
    nouveau_mm_destroy(screen->mm_VRAM_fe0);
 
diff --git a/src/gallium/drivers/r300/r300_screen_buffer.c b/src/gallium/drivers/r300/r300_screen_buffer.c
index 7cb8cd6..f652bf7 100644
--- a/src/gallium/drivers/r300/r300_screen_buffer.c
+++ b/src/gallium/drivers/r300/r300_screen_buffer.c
@@ -55,8 +55,7 @@ static void r300_buffer_destroy(struct pipe_screen *screen,
 {
     struct r300_resource *rbuf = r300_resource(buf);
 
-    if (rbuf->malloced_buffer)
-        FREE(rbuf->malloced_buffer);
+    FREE(rbuf->malloced_buffer);
 
     if (rbuf->buf)
         pb_reference(&rbuf->buf, NULL);
diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c
index 6f9feb1..46a6bf6 100644
--- a/src/gallium/drivers/r300/r300_state.c
+++ b/src/gallium/drivers/r300/r300_state.c
@@ -1840,8 +1840,7 @@ static void r300_delete_vs_state(struct pipe_context* pipe, void* shader)
 
     if (r300->screen->caps.has_tcl) {
         rc_constants_destroy(&vs->code.constants);
-        if (vs->code.constants_remap_table)
-            FREE(vs->code.constants_remap_table);
+        FREE(vs->code.constants_remap_table);
     } else {
         draw_delete_vertex_shader(r300->draw,
                 (struct draw_vertex_shader*)vs->draw_vs);
diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.c b/src/gallium/state_trackers/egl/common/egl_g3d.c
index 239be61..86abaeb 100644
--- a/src/gallium/state_trackers/egl/common/egl_g3d.c
+++ b/src/gallium/state_trackers/egl/common/egl_g3d.c
@@ -169,8 +169,7 @@ egl_g3d_add_screens(_EGLDriver *drv, _EGLDisplay *dpy)
    native_connectors =
       gdpy->native->modeset->get_connectors(gdpy->native, &num_connectors, NULL);
    if (!num_connectors) {
-      if (native_connectors)
-         FREE(native_connectors);
+      FREE(native_connectors);
       return;
    }
 
@@ -184,8 +183,7 @@ egl_g3d_add_screens(_EGLDriver *drv, _EGLDisplay *dpy)
       native_modes =
          gdpy->native->modeset->get_modes(gdpy->native, nconn, &num_modes);
       if (!num_modes) {
-         if (native_modes)
-            FREE(native_modes);
+         FREE(native_modes);
          continue;
       }
 
@@ -428,8 +426,7 @@ egl_g3d_add_configs(_EGLDriver *drv, _EGLDisplay *dpy, EGLint id)
 
    native_configs = gdpy->native->get_configs(gdpy->native, &num_configs);
    if (!num_configs) {
-      if (native_configs)
-         FREE(native_configs);
+      FREE(native_configs);
       return id;
    }
 
diff --git a/src/gallium/state_trackers/egl/drm/modeset.c b/src/gallium/state_trackers/egl/drm/modeset.c
index b33323b..32c0a25 100644
--- a/src/gallium/state_trackers/egl/drm/modeset.c
+++ b/src/gallium/state_trackers/egl/drm/modeset.c
@@ -648,10 +648,8 @@ drm_display_fini_modeset(struct native_display *ndpy)
       FREE(drmdpy->connectors);
    }
 
-   if (drmdpy->shown_surfaces) {
-      FREE(drmdpy->shown_surfaces);
-      drmdpy->shown_surfaces = NULL;
-   }
+   FREE(drmdpy->shown_surfaces);
+   drmdpy->shown_surfaces = NULL;
 
    if (drmdpy->saved_crtcs) {
       for (i = 0; i < drmdpy->resources->count_crtcs; i++) {
diff --git a/src/gallium/state_trackers/egl/drm/native_drm.c b/src/gallium/state_trackers/egl/drm/native_drm.c
index feb1dc0..23fc137 100644
--- a/src/gallium/state_trackers/egl/drm/native_drm.c
+++ b/src/gallium/state_trackers/egl/drm/native_drm.c
@@ -123,8 +123,7 @@ drm_display_destroy(struct native_display *ndpy)
 {
    struct drm_display *drmdpy = drm_display(ndpy);
 
-   if (drmdpy->config)
-      FREE(drmdpy->config);
+   FREE(drmdpy->config);
 
    drm_display_fini_modeset(&drmdpy->base);
 
@@ -132,8 +131,7 @@ drm_display_destroy(struct native_display *ndpy)
    ndpy->screen = NULL;
    ndpy_uninit(ndpy);
 
-   if (drmdpy->device_name)
-      FREE(drmdpy->device_name);
+   FREE(drmdpy->device_name);
 
    if (drmdpy->own_gbm) {
       gbm_device_destroy(&drmdpy->gbmdrm->base.base);
diff --git a/src/gallium/state_trackers/egl/gdi/native_gdi.c b/src/gallium/state_trackers/egl/gdi/native_gdi.c
index 78dbe7c..7b40108 100644
--- a/src/gallium/state_trackers/egl/gdi/native_gdi.c
+++ b/src/gallium/state_trackers/egl/gdi/native_gdi.c
@@ -358,8 +358,7 @@ gdi_display_destroy(struct native_display *ndpy)
 {
    struct gdi_display *gdpy = gdi_display(ndpy);
 
-   if (gdpy->configs)
-      FREE(gdpy->configs);
+   FREE(gdpy->configs);
 
    ndpy_uninit(ndpy);
 
diff --git a/src/gallium/state_trackers/egl/wayland/native_drm.c b/src/gallium/state_trackers/egl/wayland/native_drm.c
index c6f6197..7255c8f 100644
--- a/src/gallium/state_trackers/egl/wayland/native_drm.c
+++ b/src/gallium/state_trackers/egl/wayland/native_drm.c
@@ -73,10 +73,8 @@ wayland_drm_display_destroy(struct native_display *ndpy)
 
    if (drmdpy->wl_drm)
       wl_drm_destroy(drmdpy->wl_drm);
-   if (drmdpy->device_name)
-      FREE(drmdpy->device_name);
-   if (drmdpy->base.configs)
-      FREE(drmdpy->base.configs);
+   FREE(drmdpy->device_name);
+   FREE(drmdpy->base.configs);
    if (drmdpy->base.own_dpy)
       wl_display_disconnect(drmdpy->base.dpy);
 
diff --git a/src/gallium/state_trackers/egl/wayland/native_shm.c b/src/gallium/state_trackers/egl/wayland/native_shm.c
index 574ffce..643bb92 100644
--- a/src/gallium/state_trackers/egl/wayland/native_shm.c
+++ b/src/gallium/state_trackers/egl/wayland/native_shm.c
@@ -63,8 +63,7 @@ wayland_shm_display_destroy(struct native_display *ndpy)
 {
    struct wayland_shm_display *shmdpy = wayland_shm_display(ndpy);
 
-   if (shmdpy->base.configs)
-      FREE(shmdpy->base.configs);
+   FREE(shmdpy->base.configs);
    if (shmdpy->base.own_dpy)
       wl_display_disconnect(shmdpy->base.dpy);
 
diff --git a/src/gallium/state_trackers/egl/x11/native_dri2.c b/src/gallium/state_trackers/egl/x11/native_dri2.c
index 70ae0f9..a989f9e 100644
--- a/src/gallium/state_trackers/egl/x11/native_dri2.c
+++ b/src/gallium/state_trackers/egl/x11/native_dri2.c
@@ -260,8 +260,7 @@ dri2_surface_get_buffers(struct native_surface *nsurf, uint buffer_mask)
    dri2surf->server_stamp++;
    dri2surf->client_stamp = dri2surf->server_stamp;
 
-   if (dri2surf->last_xbufs)
-      FREE(dri2surf->last_xbufs);
+   FREE(dri2surf->last_xbufs);
    dri2surf->last_xbufs = xbufs;
    dri2surf->last_num_xbufs = num_outs;
 }
@@ -432,8 +431,7 @@ dri2_surface_destroy(struct native_surface *nsurf)
    struct dri2_surface *dri2surf = dri2_surface(nsurf);
    int i;
 
-   if (dri2surf->last_xbufs)
-      FREE(dri2surf->last_xbufs);
+   FREE(dri2surf->last_xbufs);
 
    for (i = 0; i < NUM_NATIVE_ATTACHMENTS; i++) {
       struct pipe_resource *ptex = dri2surf->textures[i];
@@ -752,8 +750,7 @@ dri2_display_destroy(struct native_display *ndpy)
 {
    struct dri2_display *dri2dpy = dri2_display(ndpy);
 
-   if (dri2dpy->configs)
-      FREE(dri2dpy->configs);
+   FREE(dri2dpy->configs);
 
    if (dri2dpy->base.screen)
       dri2dpy->base.screen->destroy(dri2dpy->base.screen);
diff --git a/src/gallium/state_trackers/egl/x11/native_ximage.c b/src/gallium/state_trackers/egl/x11/native_ximage.c
index ae9c3b2..4f09e46 100644
--- a/src/gallium/state_trackers/egl/x11/native_ximage.c
+++ b/src/gallium/state_trackers/egl/x11/native_ximage.c
@@ -511,8 +511,7 @@ ximage_display_destroy(struct native_display *ndpy)
 {
    struct ximage_display *xdpy = ximage_display(ndpy);
 
-   if (xdpy->configs)
-      FREE(xdpy->configs);
+   FREE(xdpy->configs);
 
    ndpy_uninit(ndpy);
 
diff --git a/src/gallium/state_trackers/vega/text.c b/src/gallium/state_trackers/vega/text.c
index 27d461c..14e3cc5 100644
--- a/src/gallium/state_trackers/vega/text.c
+++ b/src/gallium/state_trackers/vega/text.c
@@ -52,8 +52,7 @@ static VGboolean del_glyph(struct vg_font *font,
 
    glyph = (struct vg_glyph *)
       cso_hash_take(font->glyphs, (unsigned) glyphIndex);
-   if (glyph)
-      FREE(glyph);
+   FREE(glyph);
 
    return (glyph != NULL);
 }
diff --git a/src/gallium/state_trackers/wgl/stw_device.c b/src/gallium/state_trackers/wgl/stw_device.c
index e65e71d..8e4459c 100644
--- a/src/gallium/state_trackers/wgl/stw_device.c
+++ b/src/gallium/state_trackers/wgl/stw_device.c
@@ -117,8 +117,7 @@ stw_init(const struct stw_winsys *stw_winsys)
    return TRUE;
 
 error1:
-   if (stw_dev->smapi)
-      FREE(stw_dev->smapi);
+   FREE(stw_dev->smapi);
    if (stw_dev->stapi)
       stw_dev->stapi->destroy(stw_dev->stapi);
 
diff --git a/src/gallium/targets/graw-xlib/graw_xlib.c b/src/gallium/targets/graw-xlib/graw_xlib.c
index 6138cf6..2827747 100644
--- a/src/gallium/targets/graw-xlib/graw_xlib.c
+++ b/src/gallium/targets/graw-xlib/graw_xlib.c
@@ -154,8 +154,7 @@ fail:
    if (screen)
       screen->destroy(screen);
 
-   if (xlib_handle)
-      FREE(xlib_handle);
+   FREE(xlib_handle);
 
    free(visinfo);
 
diff --git a/src/gallium/winsys/sw/dri/dri_sw_winsys.c b/src/gallium/winsys/sw/dri/dri_sw_winsys.c
index 1bca827..edb3a38 100644
--- a/src/gallium/winsys/sw/dri/dri_sw_winsys.c
+++ b/src/gallium/winsys/sw/dri/dri_sw_winsys.c
@@ -121,9 +121,7 @@ dri_sw_displaytarget_destroy(struct sw_winsys *ws,
 {
    struct dri_sw_displaytarget *dri_sw_dt = dri_sw_displaytarget(dt);
 
-   if (dri_sw_dt->data) {
-      FREE(dri_sw_dt->data);
-   }
+   FREE(dri_sw_dt->data);
 
    FREE(dri_sw_dt);
 }




More information about the mesa-commit mailing list