*** config.c.orig Tue Nov 30 11:44:51 1999 --- config.c Mon Dec 13 19:16:20 1999 *************** *** 333,339 **** { static char *expanded_filename; ! char *home_dir, *p; struct passwd *passwd = NULL; if (!filename) return(NULL); --- 333,339 ---- { static char *expanded_filename; ! char *home_dir, *p = NULL; struct passwd *passwd = NULL; if (!filename) return(NULL); *************** *** 372,378 **** home_dir = passwd->pw_dir; } ! if (p = realloc(expanded_filename, strlen(filename)+strlen(home_dir)+1)) { strcat(strcpy(expanded_filename = p, home_dir), filename); return(expanded_filename); --- 372,384 ---- home_dir = passwd->pw_dir; } ! if (!p) { ! p = malloc(strlen(filename)+strlen(home_dir)+1); ! } ! else { ! p = realloc(expanded_filename, strlen(filename)+strlen(home_dir)+1); ! } ! if (p) { strcat(strcpy(expanded_filename = p, home_dir), filename); return(expanded_filename);