From f73b709a01e2b21c62b7f980e8b338428e424a42 Mon Sep 17 00:00:00 2001 From: Garrett Wollman Date: Tue, 13 Jun 1995 17:42:07 +0000 Subject: [PATCH] Use the correct file pointer when reading the group id map file. The old code tried to read the group id map from the user id file, and thus would never actually allow a umapfs to be mounted. (!) --- sbin/mount_umap/mount_umap.c | 13 ++++++++----- sbin/mount_umapfs/mount_umapfs.c | 13 ++++++++----- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/sbin/mount_umap/mount_umap.c b/sbin/mount_umap/mount_umap.c index c7e31c6fc3b..f8e229b4de6 100644 --- a/sbin/mount_umap/mount_umap.c +++ b/sbin/mount_umap/mount_umap.c @@ -190,7 +190,7 @@ main(argc, argv) errx(1, "%s does not belong to root%s", gmapfile, not); #endif /* MAPSECURITY */ - if ((fscanf(fp, "%d\n", &gnentries)) != 1) + if ((fscanf(gfp, "%d\n", &gnentries)) != 1) errx(1, "nentries not found%s", gmapfile, not); if (gnentries > MAPFILEENTRIES) errx(1, @@ -200,11 +200,11 @@ main(argc, argv) #endif for (count = 0; count < gnentries; ++count) - if ((fscanf(fp, "%lu %lu\n", + if ((fscanf(gfp, "%lu %lu\n", &(gmapdata[count][0]), &(gmapdata[count][1]))) != 2) { - if (ferror(fp)) + if (ferror(gfp)) err(1, "%s%s", gmapfile, not); - if (feof(fp)) + if (feof(gfp)) errx(1, "%s: unexpected end-of-file%s", gmapfile, not); errx(1, "%s: illegal format (line %d)%s", @@ -226,8 +226,11 @@ main(argc, argv) endvfsent(); /* flush cache */ vfc = getvfsbyname("umap"); } + if (!vfc) { + errx(1, "umap filesystem not available"); + } - if (mount(vfc ? vfc->vfc_index : MOUNT_UMAP, argv[1], mntflags, &args)) + if (mount(vfc->vfc_index, argv[1], mntflags, &args)) err(1, NULL); exit(0); } diff --git a/sbin/mount_umapfs/mount_umapfs.c b/sbin/mount_umapfs/mount_umapfs.c index c7e31c6fc3b..f8e229b4de6 100644 --- a/sbin/mount_umapfs/mount_umapfs.c +++ b/sbin/mount_umapfs/mount_umapfs.c @@ -190,7 +190,7 @@ main(argc, argv) errx(1, "%s does not belong to root%s", gmapfile, not); #endif /* MAPSECURITY */ - if ((fscanf(fp, "%d\n", &gnentries)) != 1) + if ((fscanf(gfp, "%d\n", &gnentries)) != 1) errx(1, "nentries not found%s", gmapfile, not); if (gnentries > MAPFILEENTRIES) errx(1, @@ -200,11 +200,11 @@ main(argc, argv) #endif for (count = 0; count < gnentries; ++count) - if ((fscanf(fp, "%lu %lu\n", + if ((fscanf(gfp, "%lu %lu\n", &(gmapdata[count][0]), &(gmapdata[count][1]))) != 2) { - if (ferror(fp)) + if (ferror(gfp)) err(1, "%s%s", gmapfile, not); - if (feof(fp)) + if (feof(gfp)) errx(1, "%s: unexpected end-of-file%s", gmapfile, not); errx(1, "%s: illegal format (line %d)%s", @@ -226,8 +226,11 @@ main(argc, argv) endvfsent(); /* flush cache */ vfc = getvfsbyname("umap"); } + if (!vfc) { + errx(1, "umap filesystem not available"); + } - if (mount(vfc ? vfc->vfc_index : MOUNT_UMAP, argv[1], mntflags, &args)) + if (mount(vfc->vfc_index, argv[1], mntflags, &args)) err(1, NULL); exit(0); }