Browse Source

i965: fix segfault on low memory conditions

When out of memory (in at least one case, triggered by a longrunning
memory leak), this code will segfault and crash.  By checking for the
out-of-memory condition, the system can continue, and will report
the out-of-memory error later, a much preferable outcome.
(cherry picked from commit 44a4abfd4f)
tags/mesa_7_5_rc4
Robert Ellison 17 years ago
parent
commit
e15aebe10e
1 changed files with 7 additions and 0 deletions
  1. 7
    0
      src/mesa/drivers/dri/i965/brw_wm.c

+ 7
- 0
src/mesa/drivers/dri/i965/brw_wm.c View File

@@ -146,6 +146,13 @@ static void do_wm_prog( struct brw_context *brw,
if (c == NULL) {
brw->wm.compile_data = calloc(1, sizeof(*brw->wm.compile_data));
c = brw->wm.compile_data;
if (c == NULL) {
/* Ouch - big out of memory problem. Can't continue
* without triggering a segfault, no way to signal,
* so just return.
*/
return;
}
} else {
memset(c, 0, sizeof(*brw->wm.compile_data));
}

Loading…
Cancel
Save