Andy Stevens - 2004-10-16

Logged In: YES
user_id=247081

Something else that looks a bit dodgy in recovery.c - near
the top it has

/* Find a filename for output */
if (!(fname = unused_fname(filename))) {
display(VERBOSE, error_naming, fname);
free(fname);
return -1;
} else if (strcmp(fname, filename) != 0)
display(VERBOSE, log_nametaken, filename, cluster,
fname);

While it's good that it checks the returned value from
unused_fname, if in fact it did ever fail then this would
attempt to free(NULL), most likely causing a segfault...