Whamcloud - gitweb
LU-14093 utils: fix DLSYM buffer over flow
[fs/lustre-release.git] / lustre / utils / mount_utils.c
index be5d46b..37f292f 100644 (file)
@@ -27,7 +27,6 @@
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
  */
 
 #if HAVE_CONFIG_H
@@ -62,9 +61,6 @@
 
 #include "mount_utils.h"
 
-extern char *progname;
-extern int verbose;
-
 #define vprint(fmt, arg...) if (verbose > 0) printf(fmt, ##arg)
 #define verrprint(fmt, arg...) if (verbose >= 0) fprintf(stderr, fmt, ##arg)
 
@@ -426,7 +422,6 @@ int loop_setup(struct mkfs_opts *mop)
                char cmd[PATH_MAX];
                int cmdsz = sizeof(cmd);
 
-#ifdef HAVE_LOOP_CTL_GET_FREE
                ret = open("/dev/loop-control", O_RDWR);
                if (ret < 0) {
                        fprintf(stderr, "%s: can't access loop control\n",
@@ -442,11 +437,7 @@ int loop_setup(struct mkfs_opts *mop)
                        return EACCES;
                }
                sprintf(l_device, "%s%d", loop_base, i);
-#else
-               sprintf(l_device, "%s%d", loop_base, i);
-               if (access(l_device, F_OK | R_OK))
-                       break;
-#endif
+
                snprintf(cmd, cmdsz, "losetup %s > /dev/null 2>&1", l_device);
                ret = system(cmd);
 
@@ -535,7 +526,7 @@ int loop_format(struct mkfs_opts *mop)
 #ifdef PLUGIN_DIR
 #define DLSYM(prefix, sym, func)                                       \
        do {                                                            \
-               char _fname[64];                                        \
+               char _fname[PATH_MAX];                                  \
                snprintf(_fname, sizeof(_fname), "%s_%s", prefix, #func); \
                sym->func = (typeof(sym->func))dlsym(sym->dl_handle, _fname); \
        } while (0)