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