[CRIU] [PATCH v2 6/6] mount: use construct_string() in resolve_external_mounts()
Stanislav Kinsburskiy
skinsbursky at virtuozzo.com
Thu Dec 17 04:05:35 PST 2015
Signed-off-by: Stanislav Kinsburskiy <skinsbursky at virtuozzo.com>
---
mount.c | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/mount.c b/mount.c
index e1e1ca2..e2dd5e8 100644
--- a/mount.c
+++ b/mount.c
@@ -833,7 +833,7 @@ static int resolve_external_mounts(struct mount_info *info)
}
for (m = info; m; m = m->next) {
- int ret, size;
+ int ret;
char *p, *cut_root;
struct ext_mount *em;
struct mount_info *match;
@@ -878,19 +878,10 @@ static int resolve_external_mounts(struct mount_info *info)
cut_root = cut_root_for_bind(m->root, match->root);
- /* +2 for the NULL byte and the extra / in the sprintf below,
- * which we cut off in cut_root_for_bind(). */
- size = strlen(match->mountpoint + 1) + strlen(cut_root) + 2;
- p = xmalloc(sizeof(char) * size);
+ p = xsprintf("%s/%s", match->mountpoint + 1, cut_root);
if (!p)
return -1;
- ret = snprintf(p, size, "%s/%s", match->mountpoint + 1, cut_root);
- if (ret < 0 || ret >= size) {
- free(p);
- return -1;
- }
-
em = xmalloc(sizeof(struct ext_mount));
if (!em) {
free(p);
More information about the CRIU
mailing list