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

Diff for /src/usr.bin/su/su.c between version 1.10 and 1.11

version 1.10, 1996/10/21 18:55:56 version 1.11, 1996/10/21 19:26:24
Line 141 
Line 141 
                 err(1, "can't allocate memory");                  err(1, "can't allocate memory");
         if (asme)          if (asme)
                 if (pwd->pw_shell && *pwd->pw_shell) {                  if (pwd->pw_shell && *pwd->pw_shell) {
                         shell = strncpy(shellbuf, pwd->pw_shell, sizeof(shellbuf));                          shell = strncpy(shellbuf, pwd->pw_shell, sizeof(shellbuf) - 1);
                         shellbuf[sizeof(shellbuf) - 1] = '\0';                          shellbuf[sizeof(shellbuf) - 1] = '\0';
                 } else {                  } else {
                         shell = _PATH_BSHELL;                          shell = _PATH_BSHELL;
Line 258 
Line 258 
   
         if (asthem) {          if (asthem) {
                 avshellbuf[0] = '-';                  avshellbuf[0] = '-';
                 strncpy(avshellbuf+1, avshell, sizeof(avshellbuf) - 1);                  strncpy(avshellbuf+1, avshell, sizeof(avshellbuf) - 2);
                 avshellbuf[sizeof(avshellbuf) - 1] = '\0';                  avshellbuf[sizeof(avshellbuf) - 1] = '\0';
                 avshell = avshellbuf;                  avshell = avshellbuf;
         } else if (iscsh == YES) {          } else if (iscsh == YES) {
                 /* csh strips the first character... */                  /* csh strips the first character... */
                 avshellbuf[0] = '_';                  avshellbuf[0] = '_';
                 strncpy(avshellbuf+1, avshell, sizeof(avshellbuf) - 1);                  strncpy(avshellbuf+1, avshell, sizeof(avshellbuf) - 2);
                 avshellbuf[sizeof(avshellbuf) - 1] = '\0';                  avshellbuf[sizeof(avshellbuf) - 1] = '\0';
                 avshell = avshellbuf;                  avshell = avshellbuf;
         }          }
Line 382 
Line 382 
                 return (1);                  return (1);
         }          }
   
         (void)strncpy(savehost, krb_get_phost(hostname), sizeof(savehost));          (void)strncpy(savehost, krb_get_phost(hostname), sizeof(savehost) - 1);
         savehost[sizeof(savehost) - 1] = '\0';          savehost[sizeof(savehost) - 1] = '\0';
   
         kerno = krb_mk_req(&ticket, "rcmd", savehost, lrealm, 33);          kerno = krb_mk_req(&ticket, "rcmd", savehost, lrealm, 33);
Line 430 
Line 430 
         memset((void *)kdata_st, 0, sizeof(*kdata_st));          memset((void *)kdata_st, 0, sizeof(*kdata_st));
         kdata = &kdata_st;          kdata = &kdata_st;
   
         (void)strncpy(kdata->pname, name, sizeof(kdata->pname));          (void)strncpy(kdata->pname, name, sizeof(kdata->pname) - 1);
         kdata->pname[sizeof(kdata->pname) - 1] = '\0';          kdata->pname[sizeof(kdata->pname) - 1] = '\0';
   
         (void)strncpy(kdata->pinst,          (void)strncpy(kdata->pinst,
             ((strcmp(toname, "root") == 0) ? "root" : ""), sizeof(kdata->pinst));              ((strcmp(toname, "root") == 0) ? "root" : ""), sizeof(kdata->pinst) - 1);
         kdata->pinst[sizeof(kdata->pinst) -1] '\0';          kdata->pinst[sizeof(kdata->pinst) -1] '\0';
   
         (void)strncpy(kdata->prealm, realm, sizeof(kdata->prealm));          (void)strncpy(kdata->prealm, realm, sizeof(kdata->prealm) - 1);
         kdata->prealm[sizeof(kdata->prealm) -1] = '\0';          kdata->prealm[sizeof(kdata->prealm) -1] = '\0';
   
         return (kuserok(kdata, toname));          return (kuserok(kdata, toname));

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11