[cogl/wip/rib/cogl-1.12: 140/142] stack: don't deref freed mem in _cogl_memory_stack_free
- From: Robert Bragg <rbragg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cogl/wip/rib/cogl-1.12: 140/142] stack: don't deref freed mem in _cogl_memory_stack_free
- Date: Wed, 1 Aug 2012 07:14:01 +0000 (UTC)
commit ff197d50ff0b918e41fcc5e11be775eecbfd28fe
Author: Robert Bragg <robert linux intel com>
Date: Wed Jun 20 18:04:25 2012 +0100
stack: don't deref freed mem in _cogl_memory_stack_free
This fixes _cogl_memory_stack_free to ensure we don't dereference freed
memory as we iterate the sub-stacks to free them.
Reviewed-by: Neil Roberts <neil linux intel com>
(cherry picked from commit 1d27fedef9c599aa9976b809f18e0da1913cec26)
cogl/cogl-memory-stack.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
---
diff --git a/cogl/cogl-memory-stack.c b/cogl/cogl-memory-stack.c
index 826a892..5f4547e 100644
--- a/cogl/cogl-memory-stack.c
+++ b/cogl/cogl-memory-stack.c
@@ -177,10 +177,9 @@ _cogl_memory_stack_free (CoglMemoryStack *stack)
{
CoglMemorySubStack *sub_stack;
- for (sub_stack = stack->sub_stacks.tqh_first;
- sub_stack;
- sub_stack = sub_stack->list_node.tqe_next)
+ while ((sub_stack = COGL_TAILQ_FIRST (&stack->sub_stacks)))
{
+ COGL_TAILQ_REMOVE (&stack->sub_stacks, sub_stack, list_node);
_cogl_memory_sub_stack_free (sub_stack);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]