The realloc() call would move the list head without fixing the pointers to in the the chain of allocated objects...