Skip site navigation (1)Skip section navigation (2)
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>