gallium/u_upload_mgr: fix a serious memory leak

It can eat all memory and crash in a matter of minutes with r600g.
(cherry picked from commit 87592cff57)
This commit is contained in:
Marek Olšák 2013-01-28 02:47:24 +01:00 committed by Andreas Boll
parent 914368538e
commit d40df80732

View file

@ -168,7 +168,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
@ -190,7 +190,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;
}