From: Juha-Pekka Heikkila Date: Wed, 7 May 2014 09:38:07 +0000 (+0300) Subject: glsl: Add missing null check in push_back() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=568c545b7ee732f32656f06a953af5a0887ff6b6;p=mesa.git glsl: Add missing null check in push_back() Report memory error on realloc failure and don't leak any memory. Signed-off-by: Juha-Pekka Heikkila Reviewed-by: Ian Romanick --- diff --git a/src/glsl/link_atomics.cpp b/src/glsl/link_atomics.cpp index d92cdb11709..fbe4e7364ae 100644 --- a/src/glsl/link_atomics.cpp +++ b/src/glsl/link_atomics.cpp @@ -54,9 +54,18 @@ namespace { void push_back(unsigned id, ir_variable *var) { - counters = (active_atomic_counter *) - realloc(counters, sizeof(active_atomic_counter) * (num_counters + 1)); + active_atomic_counter *new_counters; + new_counters = (active_atomic_counter *) + realloc(counters, sizeof(active_atomic_counter) * + (num_counters + 1)); + + if (new_counters == NULL) { + _mesa_error_no_memory(__func__); + return; + } + + counters = new_counters; counters[num_counters].id = id; counters[num_counters].var = var; num_counters++;