Hi!

On 2012-11-20, Baptiste Daroussin wrote:
>   change mode the group file to 0644 after a successfull rename(2)
> 
>  int
>  gr_mkdb(void)
>  {
> -     return (rename(tempname, group_file));
> +     int ret;
> +
> +     ret = rename(tempname, group_file);
> +
> +     if (ret == 0)
> +             chmod(group_file, 0644);
> +
> +     return (ret);
>  }

Rename+chmod is not an atomic operation. There is a window when the file
has wrong permissions. Also, you don't check the return value of
chmod(). Maybe chmod first and then rename?

-- 
Jaakko
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to