Date: Mon, 24 Mar 2003 10:32:54 +0100 From: Ernst de Haan <ernst.dehaan@nl.wanadoo.com> To: Brent Verner <brent@rcfile.org>, Greg Lewis <glewis@eyesbeyond.com> Cc: freebsd-java@FreeBSD.ORG Subject: Re: [patch] daemonctl.c modified to use JAVA_HOME environment variable Message-ID: <200303241032.54982.ernst.dehaan@nl.wanadoo.com> In-Reply-To: <20030208002946.GA4681@rcfile.org> References: <20030207163217.GA99329@rcfile.org> <20030208055654.A20219@misty.eyesbeyond.com> <20030208002946.GA4681@rcfile.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Brent, How's your daemonctl.c patch coming along? I'm really interested in this. Now that the initial FreeBSD 4.8-RELEASE tag is done, we can consider committing patches like these. Ernst On Saturday 08 February 2003 01:29, Brent Verner wrote: > [2003-02-08 05:56] Greg Lewis said: > | On Fri, Feb 07, 2003 at 11:32:17AM -0500, Brent Verner wrote: > | > The attached patch modified the daemonctl.c program to use JAVA_HOME > | > if set in the environment. > | > > | > @@ -71,7 +75,16 @@ > | > > | > /* Declare variables, like all other good ANSI C programs do :) */ > | > char *argument; > | > - > | > + > | > + /* use JAVA_HOME environemt variable if set */ > | > + char* _java_home = getenv("JAVA_HOME"); > | > + if( _java_home != NULL && strcmp("",_java_home) != 0 ){ > | > + /* TODO: verify that java_prog would exist before overriding > | > the default */ + strncpy(java_home,_java_home,PATH_MAX-1); > | > + snprintf(java_prog,PATH_MAX-1,"%s/%%JAVA_CMD%%",_java_home); > | > + using_java_home_env = 1; > | > + } > | > + > | > | Just some minor feedback. > | > | I don't think this change is safe. If _java_home is too long to fit > | then java_home won't get null terminated. I suggest trying strlcpy > | instead. You might want to think about using strlcat instead of > | snprintf too, and adding some checking for overflow (and appropriate > | error handling if it occurs). > > Here's a better version (thanks for the pointer to strlcat). If > JAVA_HOME is set (and not empty) in the environment, try to use it > to find a usable JAVA_HOME/bin/java executable. Use this executable > if found, otherwise the default compile-time executable will be used. > In any case, if JAVA_HOME was checked, an 'info' message is printed, > alerting the user of the attempted command override. > > cheers. > b To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200303241032.54982.ernst.dehaan>