From: Marek Olšák Date: Wed, 14 Apr 2010 18:23:15 +0000 (+0200) Subject: r300g: fix possible crash when shader compilation fails X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d72f1c3b80f84e8bceb414439b679b3fe71ec5b9;p=mesa.git r300g: fix possible crash when shader compilation fails This hopefully fixes the crash in the FDO bug #27634, not the bug itself. --- diff --git a/src/gallium/drivers/r300/r300_fs.c b/src/gallium/drivers/r300/r300_fs.c index 8da0796e70f..3cddf98675a 100644 --- a/src/gallium/drivers/r300/r300_fs.c +++ b/src/gallium/drivers/r300/r300_fs.c @@ -278,7 +278,10 @@ static void r300_translate_fragment_shader( "Giving up...\n"); abort(); } + + rc_destroy(&compiler.Base); r300_dummy_fragment_shader(r300, shader); + return; } /* Initialize numbers of constants for each type. */ diff --git a/src/gallium/drivers/r300/r300_vs.c b/src/gallium/drivers/r300/r300_vs.c index 8137972f018..bfab9c3b014 100644 --- a/src/gallium/drivers/r300/r300_vs.c +++ b/src/gallium/drivers/r300/r300_vs.c @@ -330,7 +330,10 @@ void r300_translate_vertex_shader(struct r300_context* r300, "Giving up...\n"); abort(); } + + rc_destroy(&compiler.Base); r300_dummy_vertex_shader(r300, vs); + return; } /* Initialize numbers of constants for each type. */