epel9
Tom Callaway 10 years ago
parent 98efcc9777
commit 3111c34911

@ -1,55 +1,80 @@
lib/mount_util.c | 23 +++++++++++++++++------ --- ntfs-3g_ntfsprogs-2015.3.14/libfuse-lite/mount_util.c.ref 2015-03-14 15:10:12.000000000 +0100
1 file changed, 17 insertions(+), 6 deletions(-) +++ ntfs-3g_ntfsprogs-2015.3.14/libfuse-lite/mount_util.c 2015-05-18 11:02:50.330654300 +0200
@@ -66,6 +66,7 @@
return -1;
}
if (res == 0) {
+ char *env = NULL;
char templ[] = "/tmp/fusermountXXXXXX";
char *tmp;
--- a/lib/mount_util.c @@ -87,8 +88,8 @@
+++ b/lib/mount_util.c exit(1);
@@ -97,10 +97,12 @@ static int add_mount(const char *prognam }
goto out_restore; rmdir(tmp);
} - execl("/sbin/mount", "/sbin/mount", "-F", type, "-o", opts,
if (res == 0) { - fsname, mnt, NULL);
+ char *env = NULL; + execle("/sbin/mount", "/sbin/mount", "-F", type, "-o", opts,
+ fsname, mnt, NULL, &env);
fprintf(stderr, "%s: failed to execute /sbin/mount: %s\n", progname,
strerror(errno));
exit(1);
@@ -120,9 +121,16 @@
return -1;
}
if (res == 0) {
+ char *env = NULL;
+ +
sigprocmask(SIG_SETMASK, &oldmask, NULL); setuid(geteuid());
setuid(geteuid()); - execl("/sbin/umount", "/sbin/umount", !lazy ? "-f" : NULL, mnt,
- execl("/bin/mount", "/bin/mount", "--no-canonicalize", "-i", - NULL);
- "-f", "-t", type, "-o", opts, fsname, mnt, NULL); + if (lazy) {
+ execle("/bin/mount", "/bin/mount", "--no-canonicalize", "-i", + execle("/sbin/umount", "/sbin/umount", mnt,
+ "-f", "-t", type, "-o", opts, fsname, mnt, NULL, &env); + NULL, &env);
fprintf(stderr, "%s: failed to execute /bin/mount: %s\n", + } else {
progname, strerror(errno)); + execle("/sbin/umount", "/sbin/umount", "-f", mnt,
exit(1); + NULL, &env);
@@ -148,10 +150,17 @@ static int exec_umount(const char *progn + }
goto out_restore; fprintf(stderr, "%s: failed to execute /sbin/umount: %s\n", progname,
} strerror(errno));
if (res == 0) { exit(1);
+ char *env = NULL; @@ -302,6 +310,7 @@
+ return 0;
sigprocmask(SIG_SETMASK, &oldmask, NULL); }
setuid(geteuid()); if (res == 0) {
- execl("/bin/umount", "/bin/umount", "-i", rel_mnt, + char *env = NULL;
- lazy ? "-l" : NULL, NULL); char templ[] = "/tmp/fusermountXXXXXX";
+ if (lazy) { char *tmp;
+ execle("/bin/umount", "/bin/umount", "-i", rel_mnt,
+ "-l", NULL, &env); @@ -325,8 +334,8 @@
+ } else { exit(1);
+ execle("/bin/umount", "/bin/umount", "-i", rel_mnt, }
+ NULL, &env); rmdir(tmp);
+ } - execl("/bin/mount", "/bin/mount", "-i", "-f", "-t", type, "-o", opts,
fprintf(stderr, "%s: failed to execute /bin/umount: %s\n", - fsname, mnt, NULL);
progname, strerror(errno)); + execle("/bin/mount", "/bin/mount", "-i", "-f", "-t", type, "-o", opts,
exit(1); + fsname, mnt, NULL, &env);
@@ -207,10 +216,12 @@ static int remove_mount(const char *prog fprintf(stderr, "%s: failed to execute /bin/mount: %s\n", progname,
goto out_restore; strerror(errno));
} exit(1);
if (res == 0) { @@ -353,11 +362,18 @@
+ char *env = NULL; return -1;
}
if (res == 0) {
+ char *env = NULL;
+ +
sigprocmask(SIG_SETMASK, &oldmask, NULL); if (setuid(geteuid()))
setuid(geteuid()); fprintf(stderr, "%s: failed to setuid : %s\n", progname,
- execl("/bin/umount", "/bin/umount", "--no-canonicalize", "-i", strerror(errno));
- "--fake", mnt, NULL); - execl("/bin/umount", "/bin/umount", "-i", mnt, lazy ? "-l" : NULL,
+ execle("/bin/umount", "/bin/umount", "--no-canonicalize", "-i", - NULL);
+ "--fake", mnt, NULL, &env); + if (lazy) {
fprintf(stderr, "%s: failed to execute /bin/umount: %s\n", + execle("/bin/umount", "/bin/umount", "-i", mnt, "-l",
progname, strerror(errno)); + NULL, &env);
exit(1); + } else {
+ execle("/bin/umount", "/bin/umount", "-i", mnt,
+ NULL, &env);
+ }
fprintf(stderr, "%s: failed to execute /bin/umount: %s\n", progname,
strerror(errno));
exit(1);

Loading…
Cancel
Save