mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 13:28:06 +02:00
svga: fix shader variant memory leak
Fixes a small leak in a seldom-hit corner case for VS/FS compilation. Found with coverity. Reviewed-by: Charmaine Lee <charmainel@vmware.com>
This commit is contained in:
parent
ece33f9687
commit
289804515f
2 changed files with 6 additions and 0 deletions
|
|
@ -148,6 +148,9 @@ compile_fs(struct svga_context *svga,
|
|||
" using dummy shader instead.\n",
|
||||
(unsigned) (variant->nr_tokens
|
||||
* sizeof(variant->tokens[0])));
|
||||
/* Free the too-large variant */
|
||||
svga_destroy_shader_variant(svga, SVGA3D_SHADERTYPE_PS, variant);
|
||||
/* Use simple pass-through shader instead */
|
||||
variant = get_compiled_dummy_shader(svga, fs, key);
|
||||
if (!variant) {
|
||||
ret = PIPE_ERROR;
|
||||
|
|
|
|||
|
|
@ -139,6 +139,9 @@ compile_vs(struct svga_context *svga,
|
|||
" using dummy shader instead.\n",
|
||||
(unsigned) (variant->nr_tokens
|
||||
* sizeof(variant->tokens[0])));
|
||||
/* Free the too-large variant */
|
||||
svga_destroy_shader_variant(svga, SVGA3D_SHADERTYPE_VS, variant);
|
||||
/* Use simple pass-through shader instead */
|
||||
variant = get_compiled_dummy_vertex_shader(svga, vs, key);
|
||||
if (!variant) {
|
||||
ret = PIPE_ERROR;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue