libmultipath: fix gcc 8.1 "truncated output" warnings
authorMartin Wilck <mwilck@suse.com>
Mon, 8 Oct 2018 09:38:21 +0000 (11:38 +0200)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Tue, 9 Oct 2018 11:35:38 +0000 (13:35 +0200)
gcc 8.1 was warning about a possibly truncated output in snprintf.

Signed-off-by: Martin Wilck <mwilck@suse.com>
libmultipath/sysfs.c
libmultipath/util.c

index 16e0a73..b7dacaa 100644 (file)
@@ -239,7 +239,7 @@ sysfs_get_size (struct path *pp, unsigned long long * size)
 int sysfs_check_holders(char * check_devt, char * new_devt)
 {
        unsigned int major, new_minor, table_minor;
-       char path[PATH_SIZE], check_dev[PATH_SIZE];
+       char path[PATH_MAX], check_dev[PATH_SIZE];
        char * table_name;
        DIR *dirfd;
        struct dirent *holder;
@@ -256,7 +256,7 @@ int sysfs_check_holders(char * check_devt, char * new_devt)
 
        condlog(3, "%s: checking holder", check_dev);
 
-       snprintf(path, PATH_SIZE, "/sys/block/%s/holders", check_dev);
+       snprintf(path, sizeof(path), "/sys/block/%s/holders", check_dev);
        dirfd = opendir(path);
        if (dirfd == NULL) {
                condlog(3, "%s: failed to open directory %s (%d)",
index 8d8fcc8..347af5b 100644 (file)
@@ -331,7 +331,7 @@ setup_thread_attr(pthread_attr_t *attr, size_t stacksize, int detached)
 
 int systemd_service_enabled_in(const char *dev, const char *prefix)
 {
-       char path[PATH_SIZE], file[PATH_SIZE], service[PATH_SIZE];
+       char path[PATH_SIZE], file[PATH_MAX], service[PATH_SIZE];
        DIR *dirfd;
        struct dirent *d;
        int found = 0;
@@ -358,7 +358,7 @@ int systemd_service_enabled_in(const char *dev, const char *prefix)
                p = d->d_name + strlen(d->d_name) - 6;
                if (strcmp(p, ".wants"))
                        continue;
-               snprintf(file, PATH_SIZE, "%s/%s/%s",
+               snprintf(file, sizeof(file), "%s/%s/%s",
                         path, d->d_name, service);
                if (stat(file, &stbuf) == 0) {
                        condlog(3, "%s: found %s", dev, file);