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:
parent
a7e8769de3
commit
7f9b25bffa
13
mount.c
13
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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user