Mesa (master): r300g: Fix memory leak in radeon_texture_from_shared_handle

Nicolai Hähnle nh at kemper.freedesktop.org
Sat Oct 3 16:08:18 UTC 2009


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

Author: Nicolai Hähnle <nhaehnle at gmail.com>
Date:   Sat Oct  3 17:56:51 2009 +0200

r300g: Fix memory leak in radeon_texture_from_shared_handle

Signed-off-by: Nicolai Hähnle <nhaehnle at gmail.com>

---

 src/gallium/winsys/drm/radeon/core/radeon_drm.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/src/gallium/winsys/drm/radeon/core/radeon_drm.c b/src/gallium/winsys/drm/radeon/core/radeon_drm.c
index a4011db..caab33d 100644
--- a/src/gallium/winsys/drm/radeon/core/radeon_drm.c
+++ b/src/gallium/winsys/drm/radeon/core/radeon_drm.c
@@ -107,13 +107,18 @@ radeon_texture_from_shared_handle(struct drm_api *api,
                                   unsigned handle)
 {
     struct pipe_buffer *buffer;
+    struct pipe_texture *blanket;
 
     buffer = radeon_buffer_from_handle(api, screen, name, handle);
     if (!buffer) {
         return NULL;
     }
 
-    return screen->texture_blanket(screen, templ, &stride, buffer);
+    blanket = screen->texture_blanket(screen, templ, &stride, buffer);
+
+    pipe_buffer_reference(&buffer, NULL);
+
+    return blanket;
 }
 
 static boolean radeon_shared_handle_from_texture(struct drm_api *api,




More information about the mesa-commit mailing list