[libvirt] [PATCH] security_selinux: Fix crash in virSecuritySELinuxRestoreFileLabel
Jiri Denemark
jdenemar at redhat.com
Thu Jan 21 10:42:57 UTC 2016
On Thu, Jan 21, 2016 at 18:31:58 +0800, Shanzhi Yu wrote:
> when failed to boot a guest, virSecuritySELinuxRestoreFileLabel
> will be called eventually to reset security label, which will
> lead a crash if pass null to virFileResolveLink(path, &newpath).
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1300532
> Signed-off-by: Shanzhi Yu <shyu at redhat.com>
> ---
> src/security/security_selinux.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
> index 9e98635..c8a7553 100644
> --- a/src/security/security_selinux.c
> +++ b/src/security/security_selinux.c
> @@ -1026,7 +1026,7 @@ virSecuritySELinuxRestoreFileLabel(virSecurityManagerPtr mgr,
>
> VIR_INFO("Restoring SELinux context on '%s'", path);
Here you use path without checking it's non-NULL.
>
> - if (virFileResolveLink(path, &newpath) < 0) {
> + if (path && virFileResolveLink(path, &newpath) < 0) {
> VIR_WARN("cannot resolve symlink %s: %s", path,
> virStrerror(errno, ebuf, sizeof(ebuf)));
> goto err;
Anyway, the bug is somewhere else. virSecuritySELinuxRestoreFileLabel
should never be called with NULL path.
Jirka
More information about the libvir-list
mailing list