Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > main-release-src > by-pkgid > 8e464684ea2b3924306d1de83199d544 > files > 19

util-linux-ng-2.17.1-5mdv2010.1.src.rpm

--- util-linux-ng-2.14.1/mount/lomount.c.CHANGE-FD	2008-10-17 17:09:58.000000000 +0200
+++ util-linux-ng-2.14.1/mount/lomount.c	2008-10-17 17:20:16.000000000 +0200
@@ -849,6 +849,10 @@
 	*loopro = (mode == O_RDONLY);
 
 	if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
+	    int saved_errno = errno;
+#define LOOP_CHANGE_FD	0x4C06
+	    if (ioctl (fd, LOOP_CHANGE_FD, ffd) < 0) {
+	    	errno = saved_errno;
 		if(errno == EBUSY)
 			errRetVal = busyRetVal;
 		if((errRetVal != 2) || verbose)
@@ -860,6 +864,10 @@
 close_ffd_return1:
 		close (ffd);
 		return errRetVal;
+ 	    }
+ 	    close (ffd);
+ 	    close (fd);
+ 	    return 0;
 	}
 
 	memset (&loopinfo, 0, sizeof (loopinfo));