checkout: Always do chmod even in _MODE_USER

The previous commit here changed things so that we do mkdir(x, 0700),
then fchmod later only if we created the directory.

However the logic was incorrect; we still need to chmod even in
MODE_USER if we created the directory.
This commit is contained in:
Colin Walters 2014-04-01 13:07:17 -04:00
parent 956b18ace7
commit 7bd00e3005

View File

@ -630,7 +630,7 @@ checkout_tree_at (OstreeRepo *self,
/* We do fchmod/fchown last so that no one else could access the
* partially created directory and change content we're laying out.
*/
if (!did_exist && mode != OSTREE_REPO_CHECKOUT_MODE_USER)
if (!did_exist)
{
do
res = fchmod (destination_dfd,
@ -641,7 +641,10 @@ checkout_tree_at (OstreeRepo *self,
ot_util_set_error_from_errno (error, errno);
goto out;
}
}
if (!did_exist && mode != OSTREE_REPO_CHECKOUT_MODE_USER)
{
do
res = fchown (destination_dfd,
g_file_info_get_attribute_uint32 (source_info, "unix::uid"),