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

Diff for /src/usr.bin/sndiod/sndiod.c between version 1.13 and 1.14

version 1.13, 2015/11/22 16:52:06 version 1.14, 2015/11/23 12:01:04
Line 255 
Line 255 
 {  {
         uid_t uid;          uid_t uid;
         struct stat sb;          struct stat sb;
         mode_t mask;          mode_t mask, omask;
   
         uid = geteuid();          uid = geteuid();
         if (uid == 0) {          if (uid == 0) {
Line 265 
Line 265 
                 mask = 077;                  mask = 077;
                 snprintf(base, SOCKPATH_MAX, SOCKPATH_DIR "-%u", uid);                  snprintf(base, SOCKPATH_MAX, SOCKPATH_DIR "-%u", uid);
         }          }
         if (mkdir(base, 0777 & ~mask) < 0) {          omask = umask(mask);
           if (mkdir(base, 0777) < 0) {
                 if (errno != EEXIST)                  if (errno != EEXIST)
                         err(1, "mkdir(\"%s\")", base);                          err(1, "mkdir(\"%s\")", base);
         }          }
           umask(omask);
         if (stat(base, &sb) < 0)          if (stat(base, &sb) < 0)
                 err(1, "stat(\"%s\")", base);                  err(1, "stat(\"%s\")", base);
         if (sb.st_uid != uid || (sb.st_mode & mask) != 0)          if (sb.st_uid != uid || (sb.st_mode & mask) != 0)

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14