[prev in list] [next in list] [prev in thread] [next in thread]
List: freebsd-java
Subject: RE: [patch] daemonctl.c modified to use JAVA_HOME environment variable
From: <k.j.koster () telecom ! tno ! nl>
Date: 2003-02-08 2:20:23
[Download RAW message or body]
Dear Brent,
I would prefer daemonctl to fail if the JAVA_HOME is pointing off into lala land. I \
really dislike solutions that are helpfully filling in information. If I set \
JAVA_HOME to something odd, I expect my programs to fail. Please consider this.
Kees Jan
=====================================================
You can't have everything. Where would you put it?
[Steven Wright]
> -----Original Message-----
> From: Brent Verner [mailto:brent@rcfile.org]
> Sent: zaterdag 8 februari 2003 1:30
> To: Greg Lewis
> Cc: freebsd-java@FreeBSD.ORG
> Subject: Re: [patch] daemonctl.c modified to use JAVA_HOME environment
> variable
>
>
> [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
>
> --
> "Develop your talent, man, and leave the world something. Records are
> really gifts from people. To think that an artist would love
> you enough
> to share his music with anyone is a beautiful thing." -- Duane Allman
>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic