Patch from Claus Klein to increase, and make more apparent
authorEric Andersen <andersen@codepoet.org>
Fri, 8 Oct 2004 08:57:35 +0000 (08:57 -0000)
committerEric Andersen <andersen@codepoet.org>
Fri, 8 Oct 2004 08:57:35 +0000 (08:57 -0000)
the hard coded limit on the number of mounts

libbb/mtab.c

index 528422567f0b546244c2f4b1a4ae12c34bcce4db..b1f74c4769a05792a5ee327ccc0da2ca22cebeb3 100644 (file)
 #include <mntent.h>
 #include "libbb.h"
 
+#define MTAB_MAX_ENTRIES 40
 static const int MS_RDONLY = 1;        /* Mount read-only.  */
 
 void erase_mtab(const char *name)
 {
-       struct mntent entries[20];
+       struct mntent entries[MTAB_MAX_ENTRIES];
        int count = 0;
        FILE *mountTable = setmntent(bb_path_mtab_file, "r");
        struct mntent *m;
@@ -44,7 +45,8 @@ void erase_mtab(const char *name)
                return;
        }
 
-       while ((m = getmntent(mountTable)) != 0) {
+       while (((m = getmntent(mountTable)) != 0) && (count < MTAB_MAX_ENTRIES))
+       {
                entries[count].mnt_fsname = strdup(m->mnt_fsname);
                entries[count].mnt_dir = strdup(m->mnt_dir);
                entries[count].mnt_type = strdup(m->mnt_type);