[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:       Greg Lewis <glewis () eyesbeyond ! com>
Date:       2003-02-07 19:38:55
[Download RAW message or body]

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).


-- 
Greg Lewis                          Email   : glewis@eyesbeyond.com
Eyes Beyond                         Web     : http://www.eyesbeyond.com
Information Technology              FreeBSD : glewis@FreeBSD.org


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