[Cogl] pipeline->dirty_real_blend_enable is not initialized by cogl_pipeline_copy()

Damien Lespiau damien.lespiau at intel.com
Wed Jul 10 03:21:32 PDT 2013


Hi,

I've run cogl master under valgrind recently and it seems to have caught
something interesting:

Conditional jump or move depends on uninitialised value(s)
   at 0x50CC4E4: _cogl_pipeline_update_real_blend_enable (cogl-pipeline.c:1424)
   by 0x50CC6D1: _cogl_pipeline_equal (cogl-pipeline.c:2104)
   by 0x50E193B: compare_entry_pipelines (cogl-journal.c:449)
   by 0x50E0FB3: batch_and_call (cogl-journal.c:252)
   by 0x50E1683: _cogl_journal_flush_texcoord_vbo_offsets_and_entries (cogl-journal.c:556)
   by 0x50E1518: _cogl_journal_flush_vbo_offsets_and_entries (cogl-journal.c:663)
   by 0x50E2A30: _cogl_journal_flush (cogl-journal.c:1382)
   by 0x50E6126: cogl_onscreen_swap_buffers_with_damage (cogl-onscreen.c:245)
   by 0x40127A: on_window_draw (text.c:33)
 Uninitialised value was created by a heap allocation
   at 0x4A06409: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x390C64D89E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x390C66344D: g_slice_alloc (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x50CB6D3: _cogl_pipeline_copy (cogl-pipeline.c:328)

>From what I can see, pipeline->dirty_real_blend_enable is being used
without being initialized by cogl_pipeline_copy().

What to do with it is not that clear, so I let someone understanding the
code fix it :)

--
Damien


More information about the Cogl mailing list