Fixed in CVS. There was some confusion over dynamically allocated lists of
pointers (i.e you have to make space for the list of pointers and what they are
pointing too) in the memory buffer passed in from libc.
Valgrind is much happer now and there is no segfault.