diff -urNp orig-dump-0.4b45/dump/optr.c new-dump-0.4b45/dump/optr.c --- orig-dump-0.4b45/dump/optr.c 2016-05-09 07:38:01.000000000 +0200 +++ new-dump-0.4b45/dump/optr.c 2016-07-29 09:15:03.139871167 +0200 @@ -431,6 +431,21 @@ allocfsent(struct mntent *fs) struct stat buf, tabbuf; struct pfstab *tabpf; struct mntent *tabfs; + char **type; + int handle, len; + + /* Discard fstypes we don't handle */ + if (fs->mnt_type == NULL) + return NULL; + + len = strlen(fs->mnt_type); + + for (type = fstypes, handle = 0; *type != NULL && handle == 0; type++){ + handle = (strncmp(fs->mnt_type, *type, len) == 0); + } + + if (!handle) + return NULL; new = (struct mntent *)malloc(sizeof (*fs)); if (new == NULL) @@ -701,9 +716,15 @@ lastdump(char arg) /* w ==> just what to for (pf = table; pf != NULL; pf = pf->pf_next) { struct mntent *dt = pf->pf_mntent; char **type; + int len; + + if (dt->mnt_type == NULL) + continue; + + len = strlen(dt->mnt_type); for (type = fstypes; *type != NULL; type++) { - if (strcmp(dt->mnt_type, *type) == 0) { + if (strncmp(dt->mnt_type, *type, len) == 0) { const char *disk = get_device_name(dt->mnt_fsname); print_wmsg(arg, dt->mnt_freq > 0, disk ? disk : dt->mnt_fsname, Binární soubory orig-dump-0.4b45/dump/.optr.c.swp a new-dump-0.4b45/dump/.optr.c.swp jsou rozdílné