2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-28 21:07:43 +00:00

mount: use xsprintf() in resolve_external_mounts()

Signed-off-by: Stanislav Kinsburskiy <skinsbursky@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
Stanislav Kinsburskiy 2015-12-17 15:29:33 +03:00 committed by Pavel Emelyanov
parent a7e8769de3
commit 7f9b25bffa

13
mount.c
View File

@ -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);