diff options
author | marha <marha@users.sourceforge.net> | 2013-01-28 07:58:44 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-01-28 07:58:44 +0100 |
commit | 39b49babc915183f4d712053b46f0e010427c191 (patch) | |
tree | b512cf3f17a0defe9e2cd6ababdc9f5337f93d0e /mesalib/src/gallium/auxiliary/util/u_upload_mgr.c | |
parent | 3e3af07f7697e9d23dd62fcf8f3a055602ae3341 (diff) | |
parent | 69c8cec54b01ed522bf10baf20da70304bac701a (diff) | |
download | vcxsrv-39b49babc915183f4d712053b46f0e010427c191.tar.gz vcxsrv-39b49babc915183f4d712053b46f0e010427c191.tar.bz2 vcxsrv-39b49babc915183f4d712053b46f0e010427c191.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
mesa mkfontscale pixman git update 28 jan 2013
Diffstat (limited to 'mesalib/src/gallium/auxiliary/util/u_upload_mgr.c')
-rw-r--r-- | mesalib/src/gallium/auxiliary/util/u_upload_mgr.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mesalib/src/gallium/auxiliary/util/u_upload_mgr.c b/mesalib/src/gallium/auxiliary/util/u_upload_mgr.c index ee1c6881e..6859751c5 100644 --- a/mesalib/src/gallium/auxiliary/util/u_upload_mgr.c +++ b/mesalib/src/gallium/auxiliary/util/u_upload_mgr.c @@ -163,6 +163,13 @@ enum pipe_error u_upload_alloc( struct u_upload_mgr *upload, unsigned alloc_offset = align(min_out_offset, upload->alignment); unsigned offset; + /* Init these return values here in case we fail below to make + * sure the caller doesn't get garbage values. + */ + *out_offset = ~0; + pipe_resource_reference(outbuf, NULL); + *ptr = NULL; + /* Make sure we have enough space in the upload buffer * for the sub-allocation. */ if (MAX2(upload->offset, alloc_offset) + alloc_size > upload->size) { @@ -182,8 +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); - *ptr = NULL; upload->transfer = NULL; return PIPE_ERROR_OUT_OF_MEMORY; } |