Suggested by Volker. Reduce the surface area of the
become_root() unbecome_root() code to reduce the chance
of errors.
Jeremy.
goto out;
}
+ become_root();
if (is_directory) {
ret = SMB_VFS_NEXT_RMDIR(handle, final_component);
} else {
ret = SMB_VFS_NEXT_UNLINK(handle, &local_fname);
}
+ unbecome_root();
+
if (ret == -1) {
saved_errno = errno;
}
return ret;
}
- become_root();
- ret = acl_common_remove_object(handle,
+ return acl_common_remove_object(handle,
path,
true);
- unbecome_root();
- return ret;
}
static NTSTATUS create_file_acl_common(struct vfs_handle_struct *handle,
return ret;
}
- become_root();
- ret = acl_common_remove_object(handle,
+ return acl_common_remove_object(handle,
smb_fname->base_name,
false);
- unbecome_root();
- return ret;
}