From 8dfc23472951f55f50aaa48ec2db49f26701bc2c Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Fri, 19 Jun 2009 03:21:43 +0200 Subject: [PATCH 1/2] small fix: wrong log formatting spec detected by valgrind --- src/gui/output/xvdisplayer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/output/xvdisplayer.cpp b/src/gui/output/xvdisplayer.cpp index 17017ff30..fe0c37d2f 100644 --- a/src/gui/output/xvdisplayer.cpp +++ b/src/gui/output/xvdisplayer.cpp @@ -62,7 +62,7 @@ XvDisplayer::XvDisplayer( Gtk::Widget *drawing_area, int width, int height ) : for ( unsigned int n = 0; gotPort == false && n < count; ++n ) { // Diagnostics - INFO(gui, "%s, %d, %d, %d", adaptorInfo[ n ].name, + INFO(gui, "%s, %d, %d", adaptorInfo[ n ].name, adaptorInfo[ n ].base_id, adaptorInfo[ n ].num_ports - 1); for ( unsigned int port = adaptorInfo[ n ].base_id; From 52ac7bdc5e1160c6873ab93ad8dc06dd476b12e0 Mon Sep 17 00:00:00 2001 From: Christian Thaeter Date: Fri, 19 Jun 2009 04:21:51 +0200 Subject: [PATCH 2/2] FIX: bogus pointer dereference causing gcc to barf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3) reported: ./src/lib/mpool.c: In function ‘bitmap_bit_get_nth’: ./src/lib/mpool.c:119: warning: dereferencing type-punned pointer will break strict-aliasing rules --- src/lib/mpool.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/lib/mpool.c b/src/lib/mpool.c index 88a2a8be2..9d28266cf 100644 --- a/src/lib/mpool.c +++ b/src/lib/mpool.c @@ -116,7 +116,7 @@ bitmap_bit_get_nth (MPoolcluster cluster, unsigned index) uintptr_t quot = index>>MPOOL_DIV_SHIFT; uintptr_t rem = index & ~((~MPOOL_C(0))<data; + uintptr_t* bitmap = (uintptr_t*)cluster->data; return bitmap[quot] & ((uintptr_t)1<data, 0, MPOOL_BITMAP_SIZE (self->elements_per_cluster)); + memset (cluster->data, 0, MPOOL_BITMAP_SIZE (self->elements_per_cluster)); /* initialize freelist */ for (unsigned i = 0; i < self->elements_per_cluster; ++i) @@ -240,7 +240,7 @@ alloc_near (MPoolcluster cluster, MPool self, void* locality) uintptr_t quot = index>>MPOOL_DIV_SHIFT; uintptr_t rem = index & ~((~MPOOL_C(0))<data; + uintptr_t* bitmap = (uintptr_t*)cluster->data; unsigned r = ~0U; /* the bitmap word at locality */ @@ -276,7 +276,7 @@ bitmap_set_element (MPoolcluster cluster, MPool self, void* element) uintptr_t quot = index>>MPOOL_DIV_SHIFT; uintptr_t rem = index & ~((~MPOOL_C(0))<data; + uintptr_t* bitmap = (uintptr_t*)cluster->data; bitmap[quot] |= ((uintptr_t)1<>MPOOL_DIV_SHIFT; uintptr_t rem = index & ~((~MPOOL_C(0))<data; + uintptr_t* bitmap = (uintptr_t*)cluster->data; bitmap[quot] &= ~((uintptr_t)1<>MPOOL_DIV_SHIFT; uintptr_t rem = index & ~((~MPOOL_C(0))<data; + uintptr_t* bitmap = (uintptr_t*)cluster->data; unsigned r = ~0U; /* the bitmap word at locality */