> argv = (char **) realloc (argv, newsize * sizeof (char *)) NO, NO, NO! THIS WILL NEVER WORK! You can't realloc something that wasn't malloc'd. You can't make the assumption that argv was allocated by malloc, because it isn't true. ARGV is usually found on the stack, but even that is an left up to the implementation. -Ron