[CRIU] [PATCH 1/2] zdtm: fix gcc-8 warnings

Andrei Vagin avagin at virtuozzo.com
Tue Feb 13 10:16:49 MSK 2018


Applied

On Sun, Feb 04, 2018 at 08:22:58AM +0300, Andrei Vagin wrote:
> From: Andrei Vagin <avagin at virtuozzo.com>
> 
> fs.c:78:5: error: 'strncpy' specified bound 64 equals destination size [-Werror=stringop-truncation]
>      strncpy(m->fsname, fsname, sizeof(m->fsname));
>      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> Signed-off-by: Andrei Vagin <avagin at virtuozzo.com>
> ---
>  test/zdtm/lib/fs.c                              |  3 ++-
>  test/zdtm/lib/zdtmtst.h                         | 10 ++++++++++
>  test/zdtm/static/binfmt_misc.c                  |  2 +-
>  test/zdtm/static/cgroup01.c                     |  3 ++-
>  test/zdtm/static/cgroup02.c                     |  8 ++++----
>  test/zdtm/static/cgroup03.c                     |  4 ++--
>  test/zdtm/static/cgroup04.c                     |  8 ++++----
>  test/zdtm/static/cgroup_stray.c                 |  4 ++--
>  test/zdtm/static/cgroupns.c                     | 10 +++++-----
>  test/zdtm/static/del_standalone_un.c            |  2 +-
>  test/zdtm/static/mntns_overmount.c              |  4 ++--
>  test/zdtm/static/mntns_root_bind.c              | 16 ++++++++--------
>  test/zdtm/static/mount_paths.c                  |  6 +++---
>  test/zdtm/static/overmount_with_shared_parent.c | 10 +++++-----
>  test/zdtm/static/shared_mount_propagation.c     | 21 ++++++++++-----------
>  test/zdtm/static/sk-unix-rel.c                  |  7 +++++--
>  test/zdtm/static/sk-unix-unconn.c               |  6 +++++-
>  test/zdtm/static/sockets00.c                    |  7 +++++--
>  test/zdtm/static/sockets03.c                    |  7 +++++--
>  test/zdtm/static/tempfs.c                       |  6 +++---
>  20 files changed, 84 insertions(+), 60 deletions(-)
> 
> diff --git a/test/zdtm/lib/fs.c b/test/zdtm/lib/fs.c
> index 37f5e4191..0decfc37b 100644
> --- a/test/zdtm/lib/fs.c
> +++ b/test/zdtm/lib/fs.c
> @@ -75,7 +75,8 @@ mnt_info_t *get_cwd_mnt_info(void)
>  
>  				strncpy(m->root, root, sizeof(m->root));
>  				strncpy(m->mountpoint, mountpoint, sizeof(m->mountpoint));
> -				strncpy(m->fsname, fsname, sizeof(m->fsname));
> +				strncpy(m->fsname, fsname, sizeof(m->fsname) - 1);
> +				m->fsname[sizeof(m->fsname) - 1] = 0;
>  			}
>  		}
>  
> diff --git a/test/zdtm/lib/zdtmtst.h b/test/zdtm/lib/zdtmtst.h
> index cd8e9592e..dbe825cbc 100644
> --- a/test/zdtm/lib/zdtmtst.h
> +++ b/test/zdtm/lib/zdtmtst.h
> @@ -4,6 +4,7 @@
>  #include <sys/types.h>
>  #include <unistd.h>
>  #include <stdbool.h>
> +#include <stdlib.h>
>  
>  #define INPROGRESS ".inprogress"
>  
> @@ -154,4 +155,13 @@ extern int tcp_init_server_with_opts(int family, int *port, struct zdtm_tcp_opts
>  extern pid_t sys_clone_unified(unsigned long flags, void *child_stack, void *parent_tid,
>  			       void *child_tid, unsigned long newtls);
>  
> +#define ssprintf(s, fmt, ...) ({ 						\
> +	int ___ret;								\
> +										\
> +	___ret = snprintf(s, sizeof(s), fmt, ##__VA_ARGS__);			\
> +	if (___ret >= sizeof(s))						\
> +		abort();								\
> +	___ret;									\
> +})
> +
>  #endif /* _VIMITESU_H_ */
> diff --git a/test/zdtm/static/binfmt_misc.c b/test/zdtm/static/binfmt_misc.c
> index 26f8b8192..316c4b667 100644
> --- a/test/zdtm/static/binfmt_misc.c
> +++ b/test/zdtm/static/binfmt_misc.c
> @@ -143,7 +143,7 @@ int main(int argc, char **argv)
>  	close(fd);
>  
>  	/* Disable one of the entries */
> -	sprintf(path, "%s/%s", dirname, NAME[0]);
> +	ssprintf(path, "%s/%s", dirname, NAME[0]);
>  	fd = open(path, O_WRONLY);
>  	if (fd < 0 || write(fd, "0", 1) != 1) {
>  		fail("Can't disable %s\n", path);
> diff --git a/test/zdtm/static/cgroup01.c b/test/zdtm/static/cgroup01.c
> index 384f86053..cf54c1d9e 100644
> --- a/test/zdtm/static/cgroup01.c
> +++ b/test/zdtm/static/cgroup01.c
> @@ -83,7 +83,8 @@ int main(int argc, char **argv)
>  		test_msg("found cgroup at %s\n", aux);
>  
>  		for (i = 0; i < 2; i++) {
> -			sprintf(paux, "%s/%s/%s.%d", aux, subname, empty, i);
> +			ssprintf(paux, "%s/%s/%s.%d", aux, subname, empty, i);
> +
>  			if (stat(paux, &st)) {
>  				fail("couldn't stat %s\n", paux);
>  				ret = -1;
> diff --git a/test/zdtm/static/cgroup02.c b/test/zdtm/static/cgroup02.c
> index ac6e9c0fd..6de22226f 100644
> --- a/test/zdtm/static/cgroup02.c
> +++ b/test/zdtm/static/cgroup02.c
> @@ -39,14 +39,14 @@ int mount_and_add(const char *controller, const char *prefix, const char *path)
>  		goto err_rd;
>  	}
>  
> -	sprintf(paux, "%s/%s", subdir, prefix);
> +	ssprintf(paux, "%s/%s", subdir, prefix);
>  	mkdir(paux, 0600);
>  
> -	sprintf(paux, "%s/%s/%s", subdir, prefix, path);
> +	ssprintf(paux, "%s/%s/%s", subdir, prefix, path);
>  	mkdir(paux, 0600);
>  
>  	l = sprintf(aux, "%d", getpid());
> -	sprintf(paux, "%s/%s/%s/tasks", subdir, prefix, path);
> +	ssprintf(paux, "%s/%s/%s/tasks", subdir, prefix, path);
>  
>  	cgfd = open(paux, O_WRONLY);
>  	if (cgfd < 0) {
> @@ -78,7 +78,7 @@ bool test_exists(char *mountinfo_line, char *path)
>  	sscanf(mountinfo_line, "%*d %*d %*d:%*d %*s %s", aux);
>  	test_msg("found cgroup at %s\n", aux);
>  
> -	sprintf(paux, "%s/%s", aux, path);
> +	ssprintf(paux, "%s/%s", aux, path);
>  	if (stat(paux, &st)) {
>  		return false;
>  	}
> diff --git a/test/zdtm/static/cgroup03.c b/test/zdtm/static/cgroup03.c
> index c6c4938ba..0b5db2345 100644
> --- a/test/zdtm/static/cgroup03.c
> +++ b/test/zdtm/static/cgroup03.c
> @@ -38,11 +38,11 @@ int mount_and_add(const char *controller, const char *path)
>  		goto err_rd;
>  	}
>  
> -	sprintf(paux, "%s/%s", subdir, path);
> +	ssprintf(paux, "%s/%s", subdir, path);
>  	mkdir(paux, 0600);
>  
>  	l = sprintf(aux, "%d", getpid());
> -	sprintf(paux, "%s/%s/tasks", subdir, path);
> +	ssprintf(paux, "%s/%s/tasks", subdir, path);
>  
>  	cgfd = open(paux, O_WRONLY);
>  	if (cgfd < 0) {
> diff --git a/test/zdtm/static/cgroup04.c b/test/zdtm/static/cgroup04.c
> index 6998358ef..8ec0cff37 100644
> --- a/test/zdtm/static/cgroup04.c
> +++ b/test/zdtm/static/cgroup04.c
> @@ -59,19 +59,19 @@ int mount_and_add(const char *controller, const char *path, const char *prop, co
>  		goto err_rd;
>  	}
>  
> -	sprintf(paux, "%s/%s", subdir, path);
> +	ssprintf(paux, "%s/%s", subdir, path);
>  	mkdir(paux, 0600);
>  
> -	sprintf(paux, "%s/%s/%s", subdir, path, prop);
> +	ssprintf(paux, "%s/%s/%s", subdir, path, prop);
>  	if (write_value(paux, value) < 0)
>  		goto err_rs;
>  
>  	sprintf(aux, "%d", getpid());
> -	sprintf(paux, "%s/%s/tasks", subdir, path);
> +	ssprintf(paux, "%s/%s/tasks", subdir, path);
>  	if (write_value(paux, aux) < 0)
>  		goto err_rs;
>  
> -	sprintf(paux, "%s/%s/special_prop_check", subdir, path);
> +	ssprintf(paux, "%s/%s/special_prop_check", subdir, path);
>  	mkdir(paux, 0600);
>  
>  	return 0;
> diff --git a/test/zdtm/static/cgroup_stray.c b/test/zdtm/static/cgroup_stray.c
> index 235434ed2..16db9ba54 100644
> --- a/test/zdtm/static/cgroup_stray.c
> +++ b/test/zdtm/static/cgroup_stray.c
> @@ -53,11 +53,11 @@ static int add_to_cg(const char *controller, const char *path)
>  	int cgfd, l;
>  
>  	sprintf(subdir, "%s/%s", dirname, controller);
> -	sprintf(paux, "%s/%s", subdir, path);
> +	ssprintf(paux, "%s/%s", subdir, path);
>  	mkdir(paux, 0600);
>  
>  	l = sprintf(aux, "%d", getpid());
> -	sprintf(paux, "%s/%s/tasks", subdir, path);
> +	ssprintf(paux, "%s/%s/tasks", subdir, path);
>  
>  	cgfd = open(paux, O_WRONLY);
>  	if (cgfd < 0) {
> diff --git a/test/zdtm/static/cgroupns.c b/test/zdtm/static/cgroupns.c
> index cee704353..7bb0b1fda 100644
> --- a/test/zdtm/static/cgroupns.c
> +++ b/test/zdtm/static/cgroupns.c
> @@ -34,23 +34,23 @@ int mount_and_add(const char *controller, const char *path)
>  		return -1;
>  	}
>  
> -	sprintf(subdir, "%s/%s", dirname, controller);
> +	ssprintf(subdir, "%s/%s", dirname, controller);
>  	if (mkdir(subdir, 0700) < 0) {
>  		pr_perror("Can't make dir");
>  		return -1;
>  	}
>  
> -	sprintf(aux, "none,name=%s", controller);
> +	ssprintf(aux, "none,name=%s", controller);
>  	if (mount("none", subdir, "cgroup", 0, aux)) {
>  		pr_perror("Can't mount cgroups");
>  		goto err_rd;
>  	}
>  
> -	sprintf(paux, "%s/%s", subdir, path);
> +	ssprintf(paux, "%s/%s", subdir, path);
>  	mkdir(paux, 0600);
>  
> -	l = sprintf(aux, "%d", getpid());
> -	sprintf(paux, "%s/%s/tasks", subdir, path);
> +	l = ssprintf(aux, "%d", getpid());
> +	ssprintf(paux, "%s/%s/tasks", subdir, path);
>  
>  	cgfd = open(paux, O_WRONLY);
>  	if (cgfd < 0) {
> diff --git a/test/zdtm/static/del_standalone_un.c b/test/zdtm/static/del_standalone_un.c
> index f62edb2ed..d8200068b 100644
> --- a/test/zdtm/static/del_standalone_un.c
> +++ b/test/zdtm/static/del_standalone_un.c
> @@ -25,7 +25,7 @@ static int fill_sock_name(struct sockaddr_un *name, const char *filename)
>  		return -1;
>  
>  	name->sun_family = AF_LOCAL;
> -	sprintf(name->sun_path, "%s/%s", cwd, filename);
> +	ssprintf(name->sun_path, "%s/%s", cwd, filename);
>  	return 0;
>  }
>  
> diff --git a/test/zdtm/static/mntns_overmount.c b/test/zdtm/static/mntns_overmount.c
> index aa297a055..ba23afca8 100644
> --- a/test/zdtm/static/mntns_overmount.c
> +++ b/test/zdtm/static/mntns_overmount.c
> @@ -42,8 +42,8 @@ int main(int argc, char **argv)
>  		return 1;
>  	}
>  
> -	snprintf(f1, sizeof(f1), "%s/devices", d1);
> -	snprintf(f2, sizeof(f2), "%s/devices", d2);
> +	ssprintf(f1, "%s/devices", d1);
> +	ssprintf(f2, "%s/devices", d2);
>  
>  	if (mount("zdtm_d1", d1, "tmpfs", 0, NULL)) {
>  		pr_perror("mount");
> diff --git a/test/zdtm/static/mntns_root_bind.c b/test/zdtm/static/mntns_root_bind.c
> index 3f15a2726..978143ec2 100644
> --- a/test/zdtm/static/mntns_root_bind.c
> +++ b/test/zdtm/static/mntns_root_bind.c
> @@ -38,14 +38,14 @@ int main(int argc, char **argv)
>  
>  	mount(NULL, "/", NULL, MS_SHARED, NULL);
>  
> -	snprintf(subdir1, sizeof(subdir1), "%s/subdir1", dirname);
> -	snprintf(path, sizeof(path), "%s/test", subdir1);
> -	snprintf(bpath, sizeof(bpath), "%s/test.bind", subdir1);
> -	snprintf(spath, sizeof(spath), "%s/test/sub", subdir1);
> -	snprintf(bspath, sizeof(bspath), "%s/test.bind/sub", subdir1);
> -
> -	snprintf(subdir2, sizeof(subdir2), "%s/subdir2", dirname);
> -	snprintf(bsubdir2, sizeof(bsubdir2), "%s/bsubdir2", dirname);
> +	ssprintf(subdir1, "%s/subdir1", dirname);
> +	ssprintf(path, "%s/test", subdir1);
> +	ssprintf(bpath, "%s/test.bind", subdir1);
> +	ssprintf(spath, "%s/test/sub", subdir1);
> +	ssprintf(bspath, "%s/test.bind/sub", subdir1);
> +
> +	ssprintf(subdir2, "%s/subdir2", dirname);
> +	ssprintf(bsubdir2, "%s/bsubdir2", dirname);
>  
>  	if (mkdir(dirname, 0700) ||
>  	    mkdir(subdir1, 0777) ||
> diff --git a/test/zdtm/static/mount_paths.c b/test/zdtm/static/mount_paths.c
> index a42b0eb3d..ee05adb46 100644
> --- a/test/zdtm/static/mount_paths.c
> +++ b/test/zdtm/static/mount_paths.c
> @@ -19,13 +19,13 @@ TEST_OPTION(dirname, string, "directory name", 1);
>  int main(int argc, char **argv)
>  {
>  	int ret = 1;
> -	char buf[1024], test_dir[PATH_MAX], fname[PATH_MAX];
> +	char test_dir[PATH_MAX], fname[PATH_MAX];
>  
>  	test_init(argc, argv);
>  
>  	mkdir(dirname, 0700);
>  
> -	snprintf(test_dir, sizeof(test_dir), "%s/%s", dirname, TEST_DIR);
> +	ssprintf(test_dir, "%s/%s", dirname, TEST_DIR);
>  	mkdir(test_dir, 0700);
>  
>  	if (mount("", test_dir, "tmpfs", 0, NULL)) {
> @@ -33,7 +33,7 @@ int main(int argc, char **argv)
>  		return 1;
>  	}
>  
> -	snprintf(fname, sizeof(buf), "%s/\\\t \\\\ \\tt", test_dir);
> +	ssprintf(fname, "%s/\\\t \\\\ \\tt", test_dir);
>  	if (mkdir(fname, 0700)) {
>  		pr_perror("mkdir");
>  		return 1;
> diff --git a/test/zdtm/static/overmount_with_shared_parent.c b/test/zdtm/static/overmount_with_shared_parent.c
> index 8261fb969..1fcb5a5cb 100644
> --- a/test/zdtm/static/overmount_with_shared_parent.c
> +++ b/test/zdtm/static/overmount_with_shared_parent.c
> @@ -29,13 +29,13 @@ int main(int argc, char **argv)
>  		return 1;
>  	}
>  
> -	snprintf(dir_a, sizeof(dir_a), "%s/a", dirname);
> -	snprintf(dir_d, sizeof(dir_d), "%s/d", dirname);
> +	ssprintf(dir_a, "%s/a", dirname);
> +	ssprintf(dir_d, "%s/d", dirname);
>  	mkdir(dir_a, 0700);
>  	mkdir(dir_d, 0700);
>  
> -	snprintf(dir_b, sizeof(dir_a), "%s/b", dir_a);
> -	snprintf(dir_c, sizeof(dir_c), "%s/c", dir_b);
> +	ssprintf(dir_b, "%s/b", dir_a);
> +	ssprintf(dir_c, "%s/c", dir_b);
>  	mkdir(dir_b, 0700);
>  	mkdir(dir_c, 0700);
>  
> @@ -44,7 +44,7 @@ int main(int argc, char **argv)
>  		return 1;
>  	}
>  
> -	snprintf(dir_a_c, sizeof(dir_a_c), "%s/c", dir_a);
> +	ssprintf(dir_a_c, "%s/c", dir_a);
>  
>  	if (mount(dir_d, dir_a_c, NULL, MS_BIND, NULL)) {
>  		pr_perror("Unable to bind mount %s to %s", dir_d, dir_a_c);
> diff --git a/test/zdtm/static/shared_mount_propagation.c b/test/zdtm/static/shared_mount_propagation.c
> index 9fe58487f..4e81b9ec6 100644
> --- a/test/zdtm/static/shared_mount_propagation.c
> +++ b/test/zdtm/static/shared_mount_propagation.c
> @@ -35,17 +35,17 @@ int main(int argc, char **argv)
>  		return 1;
>  	}
>  
> -	snprintf(dir_a, sizeof(dir_a), "%s/a", dirname);
> -	snprintf(dir_d, sizeof(dir_d), "%s/d", dirname);
> -	snprintf(dir_e, sizeof(dir_e), "%s/e", dirname);
> -	snprintf(dir_f, sizeof(dir_f), "%s/f", dirname);
> +	ssprintf(dir_a, "%s/a", dirname);
> +	ssprintf(dir_d, "%s/d", dirname);
> +	ssprintf(dir_e, "%s/e", dirname);
> +	ssprintf(dir_f, "%s/f", dirname);
>  	mkdir(dir_a, 0700);
>  	mkdir(dir_d, 0700);
>  	mkdir(dir_e, 0700);
>  	mkdir(dir_f, 0700);
>  
> -	snprintf(dir_b, sizeof(dir_a), "%s/b", dir_a);
> -	snprintf(dir_c, sizeof(dir_c), "%s/c", dir_b);
> +	ssprintf(dir_b, "%s/b", dir_a);
> +	ssprintf(dir_c, "%s/c", dir_b);
>  	mkdir(dir_b, 0700);
>  	mkdir(dir_c, 0700);
>  
> @@ -64,7 +64,7 @@ int main(int argc, char **argv)
>  		return 1;
>  	}
>  
> -	snprintf(test_file, sizeof(test_file), "%s/file", dir_f);
> +	ssprintf(test_file, "%s/file", dir_f);
>  	fd = open(test_file, O_CREAT | O_WRONLY | O_EXCL, 0600);
>  	if (fd < 0) {
>  		pr_perror("Unable to open %s", test_file);
> @@ -75,10 +75,9 @@ int main(int argc, char **argv)
>  	test_daemon();
>  	test_waitsig();
>  
> -	snprintf(test_bind_file1, sizeof(test_bind_file1), "%s/file", dir_c);
> -	snprintf(test_bind_file2, sizeof(test_bind_file2), "%s/b/c/file", dir_d);
> -	snprintf(test_bind_file3, sizeof(test_bind_file3), "%s/c/file", dir_e);
> -
> +	ssprintf(test_bind_file1, "%s/file", dir_c);
> +	ssprintf(test_bind_file2, "%s/b/c/file", dir_d);
> +	ssprintf(test_bind_file3, "%s/c/file", dir_e);
>  
>  	if (access(test_file, F_OK)) {
>  		pr_perror("%s doesn't exist", test_file);
> diff --git a/test/zdtm/static/sk-unix-rel.c b/test/zdtm/static/sk-unix-rel.c
> index 4f0b186d1..5b3e85289 100644
> --- a/test/zdtm/static/sk-unix-rel.c
> +++ b/test/zdtm/static/sk-unix-rel.c
> @@ -48,8 +48,11 @@ int main(int argc, char *argv[])
>  	unlink(path);
>  
>  	addr.sun_family = AF_UNIX;
> -	strncpy(addr.sun_path, filename, sizeof(addr.sun_path));
> -	addrlen = sizeof(addr.sun_family) + strlen(filename);
> +	addrlen = strlen(filename);
> +	if (addrlen > sizeof(addr.sun_path))
> +		return 1;
> +	memcpy(addr.sun_path, filename, addrlen);
> +	addrlen += sizeof(addr.sun_family);
>  
>  	sock[0] = socket(AF_UNIX, SOCK_STREAM, 0);
>  	sock[1] = socket(AF_UNIX, SOCK_STREAM, 0);
> diff --git a/test/zdtm/static/sk-unix-unconn.c b/test/zdtm/static/sk-unix-unconn.c
> index abf59e39b..72d1348a8 100644
> --- a/test/zdtm/static/sk-unix-unconn.c
> +++ b/test/zdtm/static/sk-unix-unconn.c
> @@ -33,8 +33,12 @@ int main(int argc, char ** argv)
>  
>  	len = snprintf(path, sizeof(path), "X/zdtm-%s-%d/X", argv[0], getpid());
>  
> +	if (len >= sizeof(addr.sun_path)) {
> +		pr_err("%s\n", path);
> +		return 1;
> +	}
>  	addr.sun_family = AF_UNIX;
> -	strncpy(addr.sun_path, path, sizeof(addr.sun_path));
> +	memcpy(addr.sun_path, path, len);
>  	addrlen = sizeof(addr.sun_family) + len;
>  	addr.sun_path[0] = 0;
>  	addr.sun_path[len - 1] = 0;
> diff --git a/test/zdtm/static/sockets00.c b/test/zdtm/static/sockets00.c
> index ab5d2e450..41c64c717 100644
> --- a/test/zdtm/static/sockets00.c
> +++ b/test/zdtm/static/sockets00.c
> @@ -52,8 +52,11 @@ int main(int argc, char *argv[])
>  	unlink(path);
>  
>  	addr.sun_family = AF_UNIX;
> -	strncpy(addr.sun_path, path, sizeof(addr.sun_path));
> -	addrlen = sizeof(addr.sun_family) + strlen(path);
> +	addrlen = strlen(path);
> +	if (addrlen >= sizeof(addr.sun_path))
> +		return 1;
> +	memcpy(addr.sun_path, path, addrlen);
> +	addrlen += sizeof(addr.sun_family);
>  
>  	ssk_icon[0] = socket(AF_UNIX, SOCK_STREAM, 0);
>  	ssk_icon[1] = socket(AF_UNIX, SOCK_STREAM, 0);
> diff --git a/test/zdtm/static/sockets03.c b/test/zdtm/static/sockets03.c
> index f62f565c0..e4c647d4c 100644
> --- a/test/zdtm/static/sockets03.c
> +++ b/test/zdtm/static/sockets03.c
> @@ -46,8 +46,11 @@ int main(int argc, char *argv[])
>  	unlink(path);
>  
>  	addr.sun_family = AF_UNIX;
> -	strncpy(addr.sun_path, path, sizeof(addr.sun_path));
> -	addrlen = sizeof(addr.sun_family) + strlen(path);
> +	addrlen = strlen(path);
> +	if (addrlen >= sizeof(addr.sun_path))
> +		return 1;
> +	memcpy(addr.sun_path, path, addrlen);
> +	addrlen += sizeof(addr.sun_family);
>  
>  	sk[0] = socket(AF_UNIX, SOCK_STREAM, 0);
>  	sk[1] = socket(AF_UNIX, SOCK_STREAM, 0);
> diff --git a/test/zdtm/static/tempfs.c b/test/zdtm/static/tempfs.c
> index 66c51a5eb..8a103be6d 100644
> --- a/test/zdtm/static/tempfs.c
> +++ b/test/zdtm/static/tempfs.c
> @@ -30,7 +30,7 @@ int main(int argc, char **argv)
>  		return 1;
>  	}
>  
> -	snprintf(fname, sizeof(buf), "%s/test.file", dirname);
> +	ssprintf(fname, "%s/test.file", dirname);
>  	fdo = open(fname, O_RDWR | O_CREAT, 0644);
>  	if (fdo < 0) {
>  		pr_perror("open failed");
> @@ -42,10 +42,10 @@ int main(int argc, char **argv)
>  		goto err;
>  	}
>  
> -	snprintf(overmount, sizeof(buf), "%s/test", dirname);
> +	ssprintf(overmount, "%s/test", dirname);
>  	mkdir(overmount, 0700);
>  
> -	snprintf(fname, sizeof(buf), "%s/test.file", overmount);
> +	ssprintf(fname, "%s/test.file", overmount);
>  	fd = open(fname, O_RDWR | O_CREAT, 0644);
>  	if (fd < 0) {
>  		pr_perror("open failed");
> -- 
> 2.13.6
> 


More information about the CRIU mailing list