Re: [PATCH 47/75] lxc: Use g_strdup_printf() instead of virAsprintf()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 10/22/19 10:57 AM, Michal Privoznik wrote:
Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
  src/lxc/lxc_container.c  | 41 +++++++++++++++++------------------
  src/lxc/lxc_controller.c | 46 ++++++++++++++++++++--------------------
  src/lxc/lxc_driver.c     |  8 +++----
  src/lxc/lxc_fuse.c       |  6 +++---
  src/lxc/lxc_monitor.c    |  2 +-
  src/lxc/lxc_native.c     |  8 +++----
  src/lxc/lxc_process.c    | 20 ++++++++---------
  7 files changed, 65 insertions(+), 66 deletions(-)

diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 090a22571d..0ad872b65b 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -682,7 +682,7 @@ static int lxcContainerPrepareRoot(virDomainDefPtr def,
      if (lxcContainerResolveSymlinks(root, false) < 0)
          return -1;
- virAsprintf(&dst, "%s/%s.root", LXC_STATE_DIR, def->name);
+    dst = g_strdup_printf("%s/%s.root", LXC_STATE_DIR, def->name);
tmp = root->dst;
      root->dst = dst;
@@ -717,7 +717,7 @@ static int lxcContainerPivotRoot(virDomainFSDefPtr root)
          goto err;
      }
- virAsprintf(&oldroot, "%s/.oldroot", root->src->path);
+    oldroot = g_strdup_printf("%s/.oldroot", root->src->path);
if (virFileMakePath(oldroot) < 0) {
          virReportSystemError(errno,
@@ -736,7 +736,7 @@ static int lxcContainerPivotRoot(virDomainFSDefPtr root)
      }
/* Create a directory called 'new' in tmpfs */
-    virAsprintf(&newroot, "%s/new", oldroot);
+    newroot = g_strdup_printf("%s/new", oldroot);
if (virFileMakePath(newroot) < 0) {
          virReportSystemError(errno,
@@ -921,7 +921,7 @@ static int lxcContainerMountBasicFS(bool userns_enabled,
              char *hostdir;
              int ret;
- virAsprintf(&hostdir, "/.oldroot%s", mnt->dst);
+            hostdir = g_strdup_printf("/.oldroot%s", mnt->dst);
ret = virFileIsMountPoint(hostdir);
              VIR_FREE(hostdir);
@@ -1012,10 +1012,9 @@ static int lxcContainerMountProcFuse(virDomainDefPtr def,
VIR_DEBUG("Mount /proc/meminfo stateDir=%s", stateDir); - virAsprintf(&meminfo_path,
-                "/.oldroot/%s/%s.fuse/meminfo",
-                stateDir,
-                def->name);
+    meminfo_path = g_strdup_printf("/.oldroot/%s/%s.fuse/meminfo",
+                                   stateDir,
+                                   def->name);
if ((ret = mount(meminfo_path, "/proc/meminfo",
                       NULL, MS_BIND, NULL)) < 0) {
@@ -1044,7 +1043,7 @@ static int lxcContainerMountFSDev(virDomainDefPtr def,
VIR_DEBUG("Mount /dev/ stateDir=%s", stateDir); - virAsprintf(&path, "/.oldroot/%s/%s.dev", stateDir, def->name);
+    path = g_strdup_printf("/.oldroot/%s/%s.dev", stateDir, def->name);
if (virFileMakePath("/dev") < 0) {
          virReportSystemError(errno, "%s",
@@ -1078,7 +1077,7 @@ static int lxcContainerMountFSDevPTS(virDomainDefPtr def,
VIR_DEBUG("Mount /dev/pts stateDir=%s", stateDir); - virAsprintf(&path, "/.oldroot/%s/%s.devpts", stateDir, def->name);
+    path = g_strdup_printf("/.oldroot/%s/%s.devpts", stateDir, def->name);
if (virFileMakePath("/dev/pts") < 0) {
          virReportSystemError(errno, "%s",
@@ -1130,7 +1129,7 @@ static int lxcContainerSetupDevices(char **ttyPaths, size_t nttyPaths)
for (i = 0; i < nttyPaths; i++) {
          char *tty;
-        virAsprintf(&tty, "/dev/tty%zu", i + 1);
+        tty = g_strdup_printf("/dev/tty%zu", i + 1);
if (virFileBindMountDevice(ttyPaths[i], tty) < 0) {
              VIR_FREE(tty);
@@ -1156,7 +1155,7 @@ static int lxcContainerMountFSBind(virDomainFSDefPtr fs,
VIR_DEBUG("src=%s dst=%s", fs->src->path, fs->dst); - virAsprintf(&src, "%s%s", srcprefix, fs->src->path);
+    src = g_strdup_printf("%s%s", srcprefix, fs->src->path);
if (stat(fs->dst, &st) < 0) {
          if (errno != ENOENT) {
@@ -1326,8 +1325,8 @@ static int lxcContainerMountFSBlockAuto(virDomainFSDefPtr fs,
/* First time around we use /etc/filesystems */
   retry:
-    virAsprintf(&fslist, "%s%s", srcprefix,
-                tryProc ? "/proc/filesystems" : "/etc/filesystems");
+    fslist = g_strdup_printf("%s%s", srcprefix,
+                             tryProc ? "/proc/filesystems" : "/etc/filesystems");
VIR_DEBUG("Open fslist %s", fslist);
      if (!(fp = fopen(fslist, "r"))) {
@@ -1488,7 +1487,7 @@ static int lxcContainerMountFSBlock(virDomainFSDefPtr fs,
VIR_DEBUG("src=%s dst=%s", fs->src->path, fs->dst); - virAsprintf(&src, "%s%s", srcprefix, fs->src->path);
+    src = g_strdup_printf("%s%s", srcprefix, fs->src->path);
ret = lxcContainerMountFSBlockHelper(fs, src, srcprefix, sec_mount_options); @@ -1507,7 +1506,7 @@ static int lxcContainerMountFSTmpfs(virDomainFSDefPtr fs, VIR_DEBUG("usage=%lld sec=%s", fs->usage, sec_mount_options); - virAsprintf(&data, "size=%lld%s", fs->usage, sec_mount_options);
+    data = g_strdup_printf("size=%lld%s", fs->usage, sec_mount_options);
if (virFileMakePath(fs->dst) < 0) {
          virReportSystemError(errno,
@@ -1655,20 +1654,20 @@ static int lxcContainerUnmountForSharedRoot(const char *stateDir,
/* These filesystems are created by libvirt temporarily, they
       * shouldn't appear in container. */
-    virAsprintf(&tmp, "%s/%s.dev", stateDir, domain);
+    tmp = g_strdup_printf("%s/%s.dev", stateDir, domain);
if (lxcContainerUnmountSubtree(tmp, false) < 0)
          goto cleanup;
VIR_FREE(tmp);
-    virAsprintf(&tmp, "%s/%s.devpts", stateDir, domain);
+    tmp = g_strdup_printf("%s/%s.devpts", stateDir, domain);
if (lxcContainerUnmountSubtree(tmp, false) < 0)
          goto cleanup;
#if WITH_FUSE
      VIR_FREE(tmp);
-    virAsprintf(&tmp, "%s/%s.fuse", stateDir, domain);
+    tmp = g_strdup_printf("%s/%s.fuse", stateDir, domain);
if (lxcContainerUnmountSubtree(tmp, false) < 0)
          goto cleanup;
@@ -2232,8 +2231,8 @@ static int lxcContainerChild(void *data)
          const char *tty = argv->ttyPaths[0];
          if (STRPREFIX(tty, "/dev/pts/"))
              tty += strlen("/dev/pts/");
-        virAsprintf(&ttyPath, "%s/%s.devpts/%s", LXC_STATE_DIR, vmDef->name,
-                    tty);
+        ttyPath = g_strdup_printf("%s/%s.devpts/%s", LXC_STATE_DIR, vmDef->name,
+                                  tty);
      } else {
          virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                         _("At least one tty is required"));
diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c
index 56e30eeaa9..17c4282be4 100644
--- a/src/lxc/lxc_controller.c
+++ b/src/lxc/lxc_controller.c
@@ -568,7 +568,7 @@ static int virLXCControllerAppendNBDPids(virLXCControllerPtr ctrl,
      if (!STRPREFIX(dev, "/dev/"))
          goto cleanup;
- virAsprintf(&pidpath, "/sys/devices/virtual/block/%s/pid", dev + 5);
+    pidpath = g_strdup_printf("/sys/devices/virtual/block/%s/pid", dev + 5);
/* Wait for the pid file to appear */
      while (!virFileExists(pidpath)) {
@@ -946,7 +946,7 @@ static int virLXCControllerSetupServer(virLXCControllerPtr ctrl)
      virNetServerServicePtr svc = NULL;
      char *sockpath;
- virAsprintf(&sockpath, "%s/%s.sock", LXC_STATE_DIR, ctrl->name);
+    sockpath = g_strdup_printf("%s/%s.sock", LXC_STATE_DIR, ctrl->name);
if (!(srv = virNetServerNew("LXC", 1,
                                  0, 0, 0, 1,
@@ -1434,14 +1434,14 @@ static int virLXCControllerSetupUserns(virLXCControllerPtr ctrl)
      }
VIR_DEBUG("Setting up userns maps");
-    virAsprintf(&uid_map, "/proc/%d/uid_map", ctrl->initpid);
+    uid_map = g_strdup_printf("/proc/%d/uid_map", ctrl->initpid);
if (virLXCControllerSetupUsernsMap(ctrl->def->idmap.uidmap,
                                         ctrl->def->idmap.nuidmap,
                                         uid_map) < 0)
          goto cleanup;
- virAsprintf(&gid_map, "/proc/%d/gid_map", ctrl->initpid);
+    gid_map = g_strdup_printf("/proc/%d/gid_map", ctrl->initpid);
if (virLXCControllerSetupUsernsMap(ctrl->def->idmap.gidmap,
                                         ctrl->def->idmap.ngidmap,
@@ -1467,14 +1467,14 @@ static int virLXCControllerSetupDev(virLXCControllerPtr ctrl)
      mount_options = virSecurityManagerGetMountOptions(ctrl->securityManager,
                                                        ctrl->def);
- virAsprintf(&dev, "/%s/%s.dev", LXC_STATE_DIR, ctrl->def->name);
+    dev = g_strdup_printf("/%s/%s.dev", LXC_STATE_DIR, ctrl->def->name);
/*
       * tmpfs is limited to 64kb, since we only have device nodes in there
       * and don't want to DOS the entire OS RAM usage
       */
- virAsprintf(&opts, "mode=755,size=65536%s", mount_options);
+    opts = g_strdup_printf("mode=755,size=65536%s", mount_options);
if (virFileSetupDev(dev, opts) < 0)
          goto cleanup;
@@ -1514,8 +1514,8 @@ static int virLXCControllerPopulateDevices(virLXCControllerPtr ctrl)
/* Populate /dev/ with a few important bits */
      for (i = 0; i < G_N_ELEMENTS(devs); i++) {
-        virAsprintf(&path, "/%s/%s.dev/%s", LXC_STATE_DIR, ctrl->def->name,
-                    devs[i].path);
+        path = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR, ctrl->def->name,
+                               devs[i].path);
dev_t dev = makedev(devs[i].maj, devs[i].min);
          if (mknod(path, S_IFCHR, dev) < 0 ||
@@ -1553,13 +1553,13 @@ virLXCControllerSetupHostdevSubsysUSB(virDomainDefPtr vmDef,
      mode_t mode;
      virDomainHostdevSubsysUSBPtr usbsrc = &def->source.subsys.u.usb;
- virAsprintf(&src, USB_DEVFS "/%03d/%03d", usbsrc->bus, usbsrc->device);
+    src = g_strdup_printf(USB_DEVFS "/%03d/%03d", usbsrc->bus, usbsrc->device);
- virAsprintf(&vroot, "/%s/%s.dev/bus/usb/", LXC_STATE_DIR, vmDef->name);
+    vroot = g_strdup_printf("/%s/%s.dev/bus/usb/", LXC_STATE_DIR, vmDef->name);
- virAsprintf(&dstdir, "%s/%03d/", vroot, usbsrc->bus);
+    dstdir = g_strdup_printf("%s/%03d/", vroot, usbsrc->bus);
- virAsprintf(&dstfile, "%s/%03d", dstdir, usbsrc->device);
+    dstfile = g_strdup_printf("%s/%03d", dstdir, usbsrc->device);
if (stat(src, &sb) < 0) {
          virReportSystemError(errno,
@@ -1633,7 +1633,7 @@ virLXCControllerSetupHostdevCapsStorage(virDomainDefPtr vmDef,
      while (*(path + len) == '/')
          len++;
- virAsprintf(&dst, "/%s/%s.dev/%s", LXC_STATE_DIR, vmDef->name,
+    dst = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR, vmDef->name,
                  strchr(path + len, '/'));


This one got misaligned.



      if (stat(dev, &sb) < 0) {
@@ -1709,8 +1709,8 @@ virLXCControllerSetupHostdevCapsMisc(virDomainDefPtr vmDef,
      while (*(path + len) == '/')
          len++;
- virAsprintf(&dst, "/%s/%s.dev/%s", LXC_STATE_DIR, vmDef->name,
-                strchr(path + len, '/'));
+    dst = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR, vmDef->name,
+                          strchr(path + len, '/'));
if (stat(dev, &sb) < 0) {
          virReportSystemError(errno,
@@ -1865,8 +1865,8 @@ static int virLXCControllerSetupDisk(virLXCControllerPtr ctrl,
          goto cleanup;
      }
- virAsprintf(&dst, "/%s/%s.dev/%s", LXC_STATE_DIR, ctrl->def->name,
-                def->dst);
+    dst = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR, ctrl->def->name,
+                          def->dst);
if (stat(def->src->path, &sb) < 0) {
          virReportSystemError(errno,
@@ -2055,8 +2055,8 @@ lxcCreateTty(virLXCControllerPtr ctrl, int *ttymaster,
       * while glibc has to fstat(), fchmod(), and fchown() for older
       * kernels, we can skip those steps.  ptyno shouldn't currently be
       * anything other than 0, but let's play it safe.  */
-    virAsprintf(ttyName, "/dev/pts/%d", ptyno);
-    virAsprintf(ttyHostPath, "/%s/%s.devpts/%d", LXC_STATE_DIR, ctrl->def->name, ptyno);
+    *ttyName = g_strdup_printf("/dev/pts/%d", ptyno);
+    *ttyHostPath = g_strdup_printf("/%s/%s.devpts/%d", LXC_STATE_DIR, ctrl->def->name, ptyno);
ret = 0; @@ -2112,8 +2112,8 @@ virLXCControllerSetupDevPTS(virLXCControllerPtr ctrl)
      mount_options = virSecurityManagerGetMountOptions(ctrl->securityManager,
                                                        ctrl->def);
- virAsprintf(&devpts, "%s/%s.devpts", LXC_STATE_DIR, ctrl->def->name);
-    virAsprintf(&ctrl->devptmx, "%s/%s.devpts/ptmx", LXC_STATE_DIR, ctrl->def->name);
+    devpts = g_strdup_printf("%s/%s.devpts", LXC_STATE_DIR, ctrl->def->name);
+    ctrl->devptmx = g_strdup_printf("%s/%s.devpts/ptmx", LXC_STATE_DIR, ctrl->def->name);
if (virFileMakePath(devpts) < 0) {
          virReportSystemError(errno,
@@ -2129,8 +2129,8 @@ virLXCControllerSetupDevPTS(virLXCControllerPtr ctrl)
/* XXX should we support gid=X for X!=5 for distros which use
       * a different gid for tty?  */
-    virAsprintf(&opts, "newinstance,ptmxmode=0666,mode=0620,gid=%u%s", ptsgid,
-                NULLSTR_EMPTY(mount_options));
+    opts = g_strdup_printf("newinstance,ptmxmode=0666,mode=0620,gid=%u%s", ptsgid,
+                           NULLSTR_EMPTY(mount_options));
VIR_DEBUG("Mount devpts on %s type=tmpfs flags=0x%x, opts=%s",
                devpts, MS_NOSUID, opts);
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index acaeae9311..2de252ee87 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -3788,7 +3788,7 @@ lxcDomainAttachDeviceDiskLive(virLXCDriverPtr driver,
      if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks + 1) < 0)
          goto cleanup;
- virAsprintf(&file, "/dev/%s", def->dst);
+    file = g_strdup_printf("/dev/%s", def->dst);
if (lxcDomainAttachDeviceMknod(driver,
                                     0700 | S_IFBLK,
@@ -3973,7 +3973,7 @@ lxcDomainAttachDeviceHostdevSubsysUSBLive(virLXCDriverPtr driver,
      }
usbsrc = &def->source.subsys.u.usb;
-    virAsprintf(&src, "/dev/bus/usb/%03d/%03d", usbsrc->bus, usbsrc->device);
+    src = g_strdup_printf("/dev/bus/usb/%03d/%03d", usbsrc->bus, usbsrc->device);
if (!(usb = virUSBDeviceNew(usbsrc->bus, usbsrc->device, NULL)))
          goto cleanup;
@@ -4309,7 +4309,7 @@ lxcDomainDetachDeviceDiskLive(virDomainObjPtr vm,
      def = vm->def->disks[idx];
      src = virDomainDiskGetSource(def);
- virAsprintf(&dst, "/dev/%s", def->dst);
+    dst = g_strdup_printf("/dev/%s", def->dst);
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES)) {
          virReportError(VIR_ERR_OPERATION_INVALID, "%s",
@@ -4447,7 +4447,7 @@ lxcDomainDetachDeviceHostdevUSBLive(virLXCDriverPtr driver,
      }
usbsrc = &def->source.subsys.u.usb;
-    virAsprintf(&dst, "/dev/bus/usb/%03d/%03d", usbsrc->bus, usbsrc->device);
+    dst = g_strdup_printf("/dev/bus/usb/%03d/%03d", usbsrc->bus, usbsrc->device);
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES)) {
          virReportError(VIR_ERR_OPERATION_INVALID, "%s",
diff --git a/src/lxc/lxc_fuse.c b/src/lxc/lxc_fuse.c
index 35dbad7986..3e2ad197d3 100644
--- a/src/lxc/lxc_fuse.c
+++ b/src/lxc/lxc_fuse.c
@@ -47,7 +47,7 @@ static int lxcProcGetattr(const char *path, struct stat *stbuf)
      virDomainDefPtr def = (virDomainDefPtr)context->private_data;
memset(stbuf, 0, sizeof(struct stat));
-    virAsprintf(&mempath, "/proc/%s", path);
+    mempath = g_strdup_printf("/proc/%s", path);
res = 0; @@ -250,7 +250,7 @@ static int lxcProcRead(const char *path G_GNUC_UNUSED,
      struct fuse_context *context = NULL;
      virDomainDefPtr def = NULL;
- virAsprintf(&hostpath, "/proc/%s", path);
+    hostpath = g_strdup_printf("/proc/%s", path);
context = fuse_get_context();
      def = (virDomainDefPtr)context->private_data;
@@ -305,7 +305,7 @@ int lxcSetupFuse(virLXCFusePtr *f, virDomainDefPtr def)
      if (virMutexInit(&fuse->lock) < 0)
          goto cleanup2;
- virAsprintf(&fuse->mountpoint, "%s/%s.fuse/", LXC_STATE_DIR, def->name);
+    fuse->mountpoint = g_strdup_printf("%s/%s.fuse/", LXC_STATE_DIR, def->name);
if (virFileMakePath(fuse->mountpoint) < 0) {
          virReportSystemError(errno, _("Cannot create %s"),
diff --git a/src/lxc/lxc_monitor.c b/src/lxc/lxc_monitor.c
index 1983af135e..479125374b 100644
--- a/src/lxc/lxc_monitor.c
+++ b/src/lxc/lxc_monitor.c
@@ -151,7 +151,7 @@ virLXCMonitorPtr virLXCMonitorNew(virDomainObjPtr vm,
      if (!(mon = virObjectLockableNew(virLXCMonitorClass)))
          return NULL;
- virAsprintf(&sockpath, "%s/%s.sock", socketdir, vm->def->name);
+    sockpath = g_strdup_printf("%s/%s.sock", socketdir, vm->def->name);
if (!(mon->client = virNetClientNewUNIX(sockpath, false, NULL)))
          goto error;
diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c
index c7cf2c4b0e..b9dffd6de9 100644
--- a/src/lxc/lxc_native.c
+++ b/src/lxc/lxc_native.c
@@ -265,7 +265,7 @@ lxcAddFstabLine(virDomainDefPtr def, lxcFstabPtr fstab)
          return -1;
if (fstab->dst[0] != '/') {
-        virAsprintf(&dst, "/%s", fstab->dst);
+        dst = g_strdup_printf("/%s", fstab->dst);
      } else {
          dst = g_strdup(fstab->dst);
      }
@@ -491,8 +491,8 @@ lxcAddNetworkDefinition(lxcNetworkParseData *data)
           * on the host */
          if (isVlan && data->vlanid) {
              VIR_FREE(hostdev->source.caps.u.net.ifname);
-            virAsprintf(&hostdev->source.caps.u.net.ifname, "%s.%s",
-                        data->link, data->vlanid);
+            hostdev->source.caps.u.net.ifname = g_strdup_printf("%s.%s",
+                                                                data->link, data->vlanid);


Perhaps put data->vlanid in the next line to make the data->link line a bit shorter.


Reviewed-by: Daniel Henrique Barboza <danielhb413@xxxxxxxxx>

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux