Date: Sat, 8 Feb 2003 03:20:23 +0100 From: <k.j.koster@telecom.tno.nl> To: <brent@rcfile.org> Cc: <freebsd-java@FreeBSD.ORG> Subject: RE: [patch] daemonctl.c modified to use JAVA_HOME environment variable Message-ID: <0DD8055E0FECF744B5FF8053F80C4A2D194F69@l07.oase.research.kpn.com>
index | next in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0DD8055E0FECF744B5FF8053F80C4A2D194F69>
