[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: Ernst de Haan <ernst.dehaan () nl ! wanadoo ! com>
Date: 2003-03-24 9:32:54
[Download RAW message or body]
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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic