Browse Source

antithread: avoid arithmetic on void pointers

Rusty Russell 15 years ago
parent
commit
5caaeab8a7
2 changed files with 3 additions and 2 deletions
  1. 1 1
      ccan/antithread/antithread.c
  2. 2 1
      ccan/failtest/failtest.c

+ 1 - 1
ccan/antithread/antithread.c

@@ -193,7 +193,7 @@ struct at_pool *at_pool(unsigned long size)
 
 	/* Then we remap into the middle of it. */
 	munmap(p->pool, size+PADDING);
-	p->pool = mmap(p->pool + PADDING/2, size, PROT_READ|PROT_WRITE,
+	p->pool = mmap((char *)p->pool + PADDING/2, size, PROT_READ|PROT_WRITE,
 		       MAP_SHARED, fd, 0);
 	if (p->pool == MAP_FAILED)
 		goto fail_free;

+ 2 - 1
ccan/failtest/failtest.c

@@ -84,8 +84,9 @@ static struct failtest_call *add_history_(enum failtest_call_type type,
 #define add_history(type, file, line, elem) \
 	add_history_((type), (file), (line), (elem), sizeof(*(elem)))
 
+/* We do a fake call inside a sizeof(), to check types. */
 #define set_cleanup(call, clean, type)			\
-	(call)->cleanup = (void *)((void)sizeof(clean((type *)NULL)), (clean))
+	(call)->cleanup = (void *)((void)sizeof(clean((type *)NULL),1), (clean))
 
 static bool read_write_info(int fd)
 {