On Wed, Sep 5, 2012 at 7:33 AM, Brian Paul <bri...@vmware.com> wrote: > On 09/05/2012 12:42 AM, Matt Turner wrote: >> >> 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); >> - } >> --- >> src/egl/drivers/dri2/egl_dri2.c | 3 +-- >> src/egl/drivers/dri2/platform_x11.c | 3 +-- >> src/egl/drivers/glx/egl_glx.c | 6 ++---- >> src/gallium/drivers/r600/r600_shader.c | 6 ++---- >> src/gallium/state_trackers/egl/x11/glxinit.c | 4 +--- >> src/gallium/state_trackers/egl/x11/x11_screen.c | 9 +++------ >> src/gallium/state_trackers/glx/xlib/xm_api.c | 6 ++---- >> src/gallium/state_trackers/glx/xlib/xm_st.c | 6 ++---- >> src/gallium/state_trackers/vega/shaders_cache.c | 9 +++------ >> src/gallium/state_trackers/xvmc/subpicture.c | 3 +-- >> src/gallium/targets/graw-xlib/graw_xlib.c | 3 +-- >> src/glx/dri2_glx.c | 6 ++---- >> src/glx/dri_glx.c | 6 ++---- >> src/glx/drisw_glx.c | 3 +-- >> src/glx/glxext.c | 9 +++------ >> src/glx/indirect_glx.c | 12 ++++-------- >> src/glx/indirect_vertex_array.c | 12 ++++-------- >> src/mesa/drivers/dri/common/xmlconfig.c | 9 +++------ >> src/mesa/drivers/dri/intel/intel_buffer_objects.c | 6 ++---- >> src/mesa/drivers/dri/intel/intel_tex.c | 6 ++---- >> .../drivers/dri/radeon/radeon_common_context.c | 3 +-- >> src/mesa/drivers/dri/radeon/radeon_texture.c | 6 ++---- >> src/mesa/drivers/x11/fakeglx.c | 4 +--- >> src/mesa/main/atifragshader.c | 12 ++++-------- >> src/mesa/main/bufferobj.c | 3 +-- >> src/mesa/main/context.c | 6 ++---- >> src/mesa/main/imports.c | 3 +-- >> src/mesa/main/shaderapi.c | 4 +--- >> src/mesa/main/shaderobj.c | 9 +++------ >> src/mesa/main/texcompress_cpal.c | 3 +-- >> src/mesa/main/texcompress_fxt1.c | 4 +--- >> src/mesa/program/arbprogparse.c | 12 ++++-------- >> src/mesa/program/nvfragparse.c | 8 ++------ >> src/mesa/program/nvvertparse.c | 8 ++------ >> src/mesa/program/prog_instruction.c | 6 ++---- >> src/mesa/program/prog_parameter.c | 3 +-- >> src/mesa/program/program.c | 3 +-- >> src/mesa/state_tracker/st_cb_texture.c | 3 +-- >> src/mesa/swrast/s_context.c | 3 +-- >> src/mesa/swrast/s_drawpix.c | 4 +--- >> src/mesa/swrast/s_renderbuffer.c | 12 ++++-------- >> src/mesa/swrast/s_texture.c | 6 ++---- >> src/mesa/tnl/t_vb_texgen.c | 4 ++-- >> src/mesa/vbo/vbo_primitive_restart.c | 4 +--- >> src/mesa/vbo/vbo_rebase.c | 6 ++---- >> src/mesa/vbo/vbo_save_api.c | 6 ++---- >> 46 files changed, 88 insertions(+), 184 deletions(-) > > > > The patch looks OK (one little note below) but this is pretty huge. In the > future could you break down big patches into glx, mesa and gallium chunks?
Sure. I can do that here if you like. >> diff --git a/src/gallium/state_trackers/egl/x11/x11_screen.c >> b/src/gallium/state_trackers/egl/x11/x11_screen.c >> index 47d9a69..effac0e 100644 >> --- a/src/gallium/state_trackers/egl/x11/x11_screen.c >> +++ b/src/gallium/state_trackers/egl/x11/x11_screen.c >> @@ -95,10 +95,8 @@ x11_screen_destroy(struct x11_screen *xscr) >> { >> if (xscr->dri_fd>= 0) >> close(xscr->dri_fd); >> - if (xscr->dri_driver) >> - free(xscr->dri_driver); >> - if (xscr->dri_device) >> - free(xscr->dri_device); >> + free(xscr->dri_driver); >> + free(xscr->dri_device); >> >> #ifdef GLX_DIRECT_RENDERING >> /* xscr->glx_dpy will be destroyed with the X display */ >> @@ -106,8 +104,7 @@ x11_screen_destroy(struct x11_screen *xscr) >> xscr->glx_dpy->xscr = NULL; >> #endif >> >> - if (xscr->visuals) >> - free(xscr->visuals); >> + free(xscr->visuals); >> FREE(xscr); > > > Looks like we've still got more MALLOC/CALLOC/FREE clean-up to do. > > Reviewed-by: Brian Paul <bri...@vmware.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev