...
  umask(0); // BAD
...
  maskOut = S_IRWXG | S_IRWXO;
  umask(maskOut); // GOOD
  ...
  fchmod(fileno(fp), 0555 - maskOut); // BAD 
  ...
  fchmod(fileno(fp), 0555 & ~maskOut); // GOOD
...
  umask(0666);
  chmod(pathname, 0666); // BAD
...
  umask(0022);
  chmod(pathname, 0666); // GOOD
...
