]> xenbits.xensource.com Git - libvirt.git/commitdiff
lxc: don't try to reference NULL when mounting filesystems
authorDaniel P. Berrange <berrange@redhat.com>
Thu, 11 Aug 2016 13:02:48 +0000 (14:02 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 16 Aug 2016 08:36:35 +0000 (09:36 +0100)
  <filesystem type='ram' accessmode='passthrough'>
    <source usage='524288' units='KiB'/>
    <target dir='/dev/shm'/>
  </filesystem>

would lead to lxcContainerMountAllFS calling STRPREFIX
on a NLL pointer because it failed to check if fs->src->path
was non-NULL. This is a regression caused by

  commit da665fbd4858890fbb3bbf5da2a7b6ca37bb3220
  Author: Olga Krishtal <okrishtal@virtuozzo.com>
  Date:   Thu Jul 14 16:52:38 2016 +0300

    filesystem: adds possibility to use storage pool as fs source

Signed-off-by: Olga Krishtal <okrishtal@virtuozzo.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/lxc/lxc_container.c

index e1eb434c06290e5dfd08d3d420f0b51ed4780a2c..5357df48de587375ca1b308d20c3276ebc21736b 100644 (file)
@@ -1627,8 +1627,7 @@ static int lxcContainerMountAllFS(virDomainDefPtr vmDef,
         if (lxcContainerResolveSymlinks(vmDef->fss[i], false) < 0)
             return -1;
 
-
-        if (!(vmDef->fss[i]->src &&
+        if (!(vmDef->fss[i]->src && vmDef->fss[i]->src->path &&
               STRPREFIX(vmDef->fss[i]->src->path, vmDef->fss[i]->dst)) &&
             lxcContainerUnmountSubtree(vmDef->fss[i]->dst, false) < 0)
             return -1;