NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bin/54574: usr.bin/make/parse.c $Id: 1.231 drops core on NetBSD-5.2 in realpath(3)



	Hello Simon.  The latest patch, V1.232 + your latest patch, works just
fine.  I think you can commit that.  Or, if you want, I can commit it.
-thanks
-Brian

On Sep 26, 12:57pm, "Simon J. Gerraty" wrote:
} Subject: Re: bin/54574: usr.bin/make/parse.c $Id: 1.231 drops core on NetB
} Brian Buhrow <buhrow%nfbcal.org@localhost> wrote:
} 
} > 	hello.  Here is the stack trace.  I don't have debugging symbols in
} > the binaries, but this should give you an idea.
} > Let me know if you need anything else.
} 
} Thanks.
} Odd. By the time vfprintf is called we are already done with reporting
} the makefile path.
} 
} Oh never mind, we should not be attempting to free return from realpath.
} Can you please try the patch below.
} 
} Index: parse.c
} ===================================================================
} RCS file: /cvsroot/src/usr.bin/make/parse.c,v
} retrieving revision 1.232
} diff -u -p -r1.232 parse.c
} --- parse.c	9 Apr 2019 18:28:10 -0000	1.232
} +++ parse.c	26 Sep 2019 19:55:44 -0000
} @@ -670,6 +670,7 @@ ParseVErrorInternal(FILE *f, const char 
}      const char *fmt, va_list ap)
}  {
}  	static Boolean fatal_warning_error_printed = FALSE;
} +	char dirbuf[MAXPATHLEN+1];
}  
}  	(void)fprintf(f, "%s: ", progname);
}  
} @@ -688,9 +689,7 @@ ParseVErrorInternal(FILE *f, const char 
}  			if (dir == NULL)
}  				dir = ".";
}  			if (*dir != '/') {
} -				dir = cp2 = realpath(dir, NULL);
} -				free(cp);
} -				cp = cp2; /* cp2 set to NULL by Var_Value */
} +				dir = realpath(dir, dirbuf);
}  			}
}  			fname = Var_Value(".PARSEFILE", VAR_GLOBAL, &cp2);
}  			if (fname == NULL) {
>-- End of excerpt from "Simon J. Gerraty"




Home | Main Index | Thread Index | Old Index