From 87592cff57feef29565150b9203e220b50623f30 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 28 Jan 2013 02:47:24 +0100 Subject: [PATCH] gallium/u_upload_mgr: fix a serious memory leak It can eat all memory and crash in a matter of minutes with r600g. --- src/gallium/auxiliary/util/u_upload_mgr.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gallium/auxiliary/util/u_upload_mgr.c b/src/gallium/auxiliary/util/u_upload_mgr.c index 47d39af67aa..6859751c591 100644 --- a/src/gallium/auxiliary/util/u_upload_mgr.c +++ b/src/gallium/auxiliary/util/u_upload_mgr.c @@ -167,7 +167,7 @@ enum pipe_error u_upload_alloc( struct u_upload_mgr *upload, * sure the caller doesn't get garbage values. */ *out_offset = ~0; - *outbuf = NULL; + pipe_resource_reference(outbuf, NULL); *ptr = NULL; /* Make sure we have enough space in the upload buffer @@ -189,7 +189,6 @@ enum pipe_error u_upload_alloc( struct u_upload_mgr *upload, PIPE_TRANSFER_UNSYNCHRONIZED, &upload->transfer); if (!upload->map) { - pipe_resource_reference(outbuf, NULL); upload->transfer = NULL; return PIPE_ERROR_OUT_OF_MEMORY; } -- 2.30.2