Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Using the POSIX function open() to create a file, but failing to provide access permissions for that file, may cause the file to be created with unintended access permissions. This omission has been known to lead to vulnerabilities (for instance, CVE-2006-1174).

Code Block
bgColor#FFCCCC
/* access permissions are missing */
int fd = open(file_name, O_CREAT | O_WRONLY); /* access permissions are missing */

if (fd == -1){
  /* Handle Error */
}

...

Code Block
bgColor#ccccff
int fd = open(
           file_name, 
           O_CREAT | O_WRONLY, 
           file_access_permissions
         );
if (fd == -1){
  /* Handle Error */
}

...