[BACK]Return to ssh.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/ssh.c between version 1.281 and 1.282

version 1.281, 2006/07/09 15:15:11 version 1.282, 2006/07/11 10:12:07
Line 1241 
Line 1241 
 static int  static int
 env_permitted(char *env)  env_permitted(char *env)
 {  {
         int i;          int i, ret;
         char name[1024], *cp;          char name[1024], *cp;
   
         if (strlcpy(name, env, sizeof(name)) >= sizeof(name))          if ((cp = strchr(env, '=')) == NULL || cp == env)
                 fatal("env_permitted: name too long");  
         if ((cp = strchr(name, '=')) == NULL)  
                 return (0);                  return (0);
           ret = snprintf(name, sizeof(name), "%.*s", (cp - env), env);
         *cp = '\0';          if (ret <= 0 || (size_t)ret >= sizeof(name))
                   fatal("env_permitted: name '%.100s...' too long", env);
   
         for (i = 0; i < options.num_send_env; i++)          for (i = 0; i < options.num_send_env; i++)
                 if (match_pattern(name, options.send_env[i]))                  if (match_pattern(name, options.send_env[i]))

Legend:
Removed from v.1.281  
changed lines
  Added in v.1.282