Mesa (master): Fixes for leaks reported by cppcheck.
Kristian Høgsberg
krh at kemper.freedesktop.org
Wed Jul 6 14:14:20 UTC 2011
Module: Mesa
Branch: master
Commit: f747d03b1d3aa4e63417bd8486909f63b4a33be4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f747d03b1d3aa4e63417bd8486909f63b4a33be4
Author: Völgyes Dávid <david.volgyes at gmail.com>
Date: Wed Jul 6 10:10:20 2011 -0400
Fixes for leaks reported by cppcheck.
---
src/egl/drivers/dri2/egl_dri2.c | 8 ++++++--
src/egl/drivers/dri2/platform_x11.c | 1 +
src/egl/wayland/wayland-drm/wayland-drm.c | 1 +
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 5680c36..35a598e 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -923,8 +923,10 @@ dri2_create_image_khr_renderbuffer(_EGLDisplay *disp, _EGLContext *ctx,
return EGL_NO_IMAGE_KHR;
}
- if (!_eglInitImage(&dri2_img->base, disp))
+ if (!_eglInitImage(&dri2_img->base, disp)) {
+ free(dri2_img);
return EGL_NO_IMAGE_KHR;
+ }
dri2_img->dri_image =
dri2_dpy->image->createImageFromRenderbuffer(dri2_ctx->dri_context,
@@ -1335,8 +1337,10 @@ _EGL_MAIN(const char *args)
memset(dri2_drv, 0, sizeof *dri2_drv);
- if (!dri2_load(&dri2_drv->base))
+ if (!dri2_load(&dri2_drv->base)) {
+ free(dri2_drv);
return NULL;
+ }
_eglInitDriverFallbacks(&dri2_drv->base);
dri2_drv->base.API.Initialize = dri2_initialize;
diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c
index 4e00c95..f27bf17 100644
--- a/src/egl/drivers/dri2/platform_x11.c
+++ b/src/egl/drivers/dri2/platform_x11.c
@@ -845,6 +845,7 @@ dri2_create_image_khr_pixmap(_EGLDisplay *disp, _EGLContext *ctx,
if (!_eglInitImage(&dri2_img->base, disp)) {
free(buffers_reply);
free(geometry_reply);
+ free(dri2_img);
return EGL_NO_IMAGE_KHR;
}
diff --git a/src/egl/wayland/wayland-drm/wayland-drm.c b/src/egl/wayland/wayland-drm/wayland-drm.c
index 3023cd0..ec96c04 100644
--- a/src/egl/wayland/wayland-drm/wayland-drm.c
+++ b/src/egl/wayland/wayland-drm/wayland-drm.c
@@ -104,6 +104,7 @@ drm_create_buffer(struct wl_client *client, struct wl_drm *drm,
wl_client_post_error(client, &drm->object,
WL_DRM_ERROR_INVALID_VISUAL,
"invalid visual");
+ free(buffer);
return;
}
More information about the mesa-commit
mailing list