- 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);
- entries[count].mnt_opts = strdup(m->mnt_opts);
- entries[count].mnt_freq = m->mnt_freq;
- entries[count].mnt_passno = m->mnt_passno;
- count++;
+ while ((m = getmntent(mountTable)) != 0) {
+ i = count++;
+ entries = xrealloc(entries, count * sizeof(entries[0]));
+ entries[i].mnt_fsname = xstrdup(m->mnt_fsname);
+ entries[i].mnt_dir = xstrdup(m->mnt_dir);
+ entries[i].mnt_type = xstrdup(m->mnt_type);
+ entries[i].mnt_opts = xstrdup(m->mnt_opts);
+ entries[i].mnt_freq = m->mnt_freq;
+ entries[i].mnt_passno = m->mnt_passno;