get_meda_devices: Use PATH_MAX rather then some arbritary limit
authorHans de Goede <hdegoede@redhat.com>
Sat, 18 Jun 2011 11:36:21 +0000 (13:36 +0200)
committerHans de Goede <hdegoede@redhat.com>
Sat, 18 Jun 2011 13:31:37 +0000 (15:31 +0200)
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
utils/libmedia_dev/get_media_devices.c

index 796be01..65fca6e 100644 (file)
@@ -66,10 +66,10 @@ typedef int (*fill_data_t)(struct media_device_entry *md);
 static void get_uevent_info(struct media_device_entry *md_ptr, char *dname)
 {
        FILE *fd;
-       char file[560], *name, *p;
+       char file[PATH_MAX], *name, *p;
        char s[1024];
 
-       sprintf(file, "%s/%s/uevent", dname, md_ptr->node);
+       snprintf(file, PATH_MAX, "%s/%s/uevent", dname, md_ptr->node);
        fd = fopen(file, "r");
        if (!fd)
                return;
@@ -97,9 +97,9 @@ static int get_class(char *class,
 {
        DIR             *dir;
        struct dirent   *entry;
-       char            dname[512];
-       char            fname[512];
-       char            link[1024];
+       char            dname[PATH_MAX];
+       char            fname[PATH_MAX];
+       char            link[PATH_MAX];
        char            virt_dev[60];
        int             err = -2;
        struct          media_device_entry *md_ptr = NULL;
@@ -107,16 +107,16 @@ static int get_class(char *class,
        char            *p, *device;
        static int      virtual = 0;
 
-       sprintf(dname, "/sys/class/%s", class);
+       snprintf(dname, PATH_MAX, "/sys/class/%s", class);
        dir = opendir(dname);
        if (!dir) {
                perror(dname);
                return 0;
        }
        for (entry = readdir(dir); entry; entry = readdir(dir)) {
-               sprintf(fname, "%s/%s", dname, entry->d_name);
+               snprintf(fname, PATH_MAX, "%s/%s", dname, entry->d_name);
 
-               size = readlink(fname, link, sizeof(link));
+               size = readlink(fname, link, PATH_MAX);
                if (size > 0) {
                        link[size] = '\0';