bin/165492: commit references a PR

dfilter service dfilter at FreeBSD.ORG
Sun Feb 26 22:20:04 UTC 2012


The following reply was made to PR bin/165492; it has been noted by GNATS.

From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: bin/165492: commit references a PR
Date: Sun, 26 Feb 2012 22:09:56 +0000 (UTC)

 Author: nwhitehorn
 Date: Sun Feb 26 22:09:21 2012
 New Revision: 232200
 URL: http://svn.freebsd.org/changeset/base/232200
 
 Log:
   Fix segfault if distfetch and distextract binaries are run standalone
   without the DISTRIBUTIONS environment variable set.
   
   PR:		bin/165492
   Submitted by:	Fernando Apesteguia
   MFC after:	4 days
 
 Modified:
   head/usr.sbin/bsdinstall/distextract/distextract.c
   head/usr.sbin/bsdinstall/distfetch/distfetch.c
 
 Modified: head/usr.sbin/bsdinstall/distextract/distextract.c
 ==============================================================================
 --- head/usr.sbin/bsdinstall/distextract/distextract.c	Sun Feb 26 21:24:27 2012	(r232199)
 +++ head/usr.sbin/bsdinstall/distextract/distextract.c	Sun Feb 26 22:09:21 2012	(r232200)
 @@ -38,9 +38,16 @@ static int extract_files(int nfiles, con
  int
  main(void)
  {
 -	char *diststring = strdup(getenv("DISTRIBUTIONS"));
 +	char *diststring;
  	const char **dists;
  	int i, retval, ndists = 0;
 +
 +	if (getenv("DISTRIBUTIONS") == NULL) {
 +		fprintf(stderr, "DISTRIBUTIONS variable is not set\n");
 +		return (1);
 +	}
 +
 +	diststring = strdup(getenv("DISTRIBUTIONS"));
  	for (i = 0; diststring[i] != 0; i++)
  		if (isspace(diststring[i]) && !isspace(diststring[i+1]))
  			ndists++;
 
 Modified: head/usr.sbin/bsdinstall/distfetch/distfetch.c
 ==============================================================================
 --- head/usr.sbin/bsdinstall/distfetch/distfetch.c	Sun Feb 26 21:24:27 2012	(r232199)
 +++ head/usr.sbin/bsdinstall/distfetch/distfetch.c	Sun Feb 26 22:09:21 2012	(r232200)
 @@ -37,9 +37,16 @@ static int fetch_files(int nfiles, char 
  int
  main(void)
  {
 -	char *diststring = strdup(getenv("DISTRIBUTIONS"));
 +	char *diststring;
  	char **urls;
  	int i, nfetched, ndists = 0;
 +
 +	if (getenv("DISTRIBUTIONS") == NULL) {
 +		fprintf(stderr, "DISTRIBUTIONS variable is not set\n");
 +		return (1);
 +	}
 +
 +	diststring = strdup(getenv("DISTRIBUTIONS"));
  	for (i = 0; diststring[i] != 0; i++)
  		if (isspace(diststring[i]) && !isspace(diststring[i+1]))
  			ndists++;
 _______________________________________________
 svn-src-all at freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
 


More information about the freebsd-sysinstall mailing list