>From 0a0f6c2e17b381336b9ab875c6f95ea46c8f7c44 Mon Sep 17 00:00:00 2001
From: Holger Hans Peter Freyther <[email protected]>
Date: Wed, 26 Oct 2011 16:19:57 +0200
Subject: [PATCH 1/2] [valgrind] Use D_MAGIC_SET_ONLY when initializing the
lock
In load_default_cursor a CoreSurfaceBufferLock is placed on the stack
without any initialization, the address is passed to dfb_surface_lock_buffer
which will call dfb_surface_buffer_lock_init to initialize the lock, in
there D_MAGIC_SET is used that will compare the random magic with the one
to be set. Valgrind complains about this unitialized read.
Use D_MAGIC_SET_ONLY to set the magic wihtout looking at the current
value, the alternative would be to initialize the CoreSurfaceBufferLock
on the stack with the magic set (or provide a macro for that).
---
src/core/surface_buffer.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/core/surface_buffer.h b/src/core/surface_buffer.h
index 0ca5bff..bb02d4b 100644
--- a/src/core/surface_buffer.h
+++ b/src/core/surface_buffer.h
@@ -145,7 +145,7 @@ dfb_surface_buffer_lock_reset( CoreSurfaceBufferLock *lock )
static inline void
dfb_surface_buffer_lock_init( CoreSurfaceBufferLock *lock,
CoreSurfaceAccessorID accessor, CoreSurfaceAccessFlags access )
{
- D_MAGIC_SET( lock, CoreSurfaceBufferLock );
+ D_MAGIC_SET_ONLY( lock, CoreSurfaceBufferLock );
lock->accessor = accessor;
lock->access = access;
--
1.7.7.1
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev