diff options
-rw-r--r-- | dev.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -169,8 +169,17 @@ int mog_dev_mkusage(const struct mog_dev *dev, struct mog_svc *svc) if (!svc->mgmt_mfd) return 0; - usage_path = xasprintf("/dev%u/usage", (unsigned)dev->devid); - tmp_path = xasprintf("%s.%x", usage_path, (unsigned)getpid()); + if (asprintf(&usage_path, "/dev%u/usage", (unsigned)dev->devid) < 0) { + syslog(LOG_ERR, "error generating path: /dev%u/usage (%m)", + (unsigned)dev->devid); + return 0; + } + if (asprintf(&tmp_path, "%s.%x", usage_path, (unsigned)getpid()) < 0) { + syslog(LOG_ERR, "error generating path: /dev%u/usage.%u (%m)", + (unsigned)dev->devid, (unsigned)getpid()); + free(usage_path); + return 0; + } if (mog_unlink(svc, tmp_path) < 0 && errno != ENOENT) goto out; |