[gegl] Fixing access after free.



commit 45de478b58764db01e7154e7af66d7276c4db9cd
Author: Victor Oliveira <victormatheus gmail com>
Date:   Sun Oct 27 21:09:30 2013 -0700

    Fixing access after free.

 gegl/buffer/gegl-buffer-cl-iterator.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/gegl/buffer/gegl-buffer-cl-iterator.c b/gegl/buffer/gegl-buffer-cl-iterator.c
index 91fa63a..313636b 100644
--- a/gegl/buffer/gegl-buffer-cl-iterator.c
+++ b/gegl/buffer/gegl-buffer-cl-iterator.c
@@ -270,6 +270,7 @@ gegl_buffer_cl_iterator_next (GeglBufferClIterator *iterator, gboolean *err)
   gint no;
   cl_int cl_err = 0;
   int color_err = 0;
+  gboolean is_finished;
 
   if (i->is_finished)
     g_error ("%s called on finished buffer iterator", G_STRFUNC);
@@ -387,7 +388,7 @@ gegl_buffer_cl_iterator_next (GeglBufferClIterator *iterator, gboolean *err)
     }
 
   g_assert (i->iterators > 0);
-  i->is_finished = (i->iteration_no >= i->rois);
+  is_finished = i->is_finished = (i->iteration_no >= i->rois);
 
   /* then we iterate all */
   if (!i->is_finished)
@@ -618,7 +619,7 @@ gegl_buffer_cl_iterator_next (GeglBufferClIterator *iterator, gboolean *err)
 
   if (err)
     *err = FALSE;
-  return !i->is_finished;
+  return !is_finished;
 
 error:
   gegl_buffer_cl_iterator_stop ((GeglBufferClIterator *)i);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]