svn commit: r243328 - head/lib/libutil
Jaakko Heinonen
jh at FreeBSD.org
Tue Nov 20 12:22:40 UTC 2012
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
More information about the svn-src-all
mailing list