summaryrefslogtreecommitdiffstats
path: root/e2fsprogs-1.39-close-on-error.patch
blob: 33d2a06d5748d775ca9f14293ea1f9df8b5bc6f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--- e2fsprogs-1.39/lib/ext2fs/getsize.c.close-on-error	2005-09-06 11:40:14.000000000 +0200
+++ e2fsprogs-1.39/lib/ext2fs/getsize.c	2006-06-22 14:46:27.000000000 +0200
@@ -169,8 +169,10 @@
 #ifdef DKIOCGETBLOCKCOUNT	/* For Apple Darwin */
 	if (ioctl(fd, DKIOCGETBLOCKCOUNT, &size64) >= 0) {
 		if ((sizeof(*retblocks) < sizeof(unsigned long long))
-		    && ((size64 / (blocksize / 512)) > 0xFFFFFFFF))
-			return EFBIG;
+		    && ((size64 / (blocksize / 512)) > 0xFFFFFFFF)) {
+			rc = EFBIG;
+			goto out;
+		}
 		*retblocks = size64 / (blocksize / 512);
 		goto out;
 	}
@@ -275,8 +277,10 @@
 	valid_offset (fd, 0);
 	size64 = low + 1;
 	if ((sizeof(*retblocks) < sizeof(unsigned long long))
-	    && ((size64 / blocksize) > 0xFFFFFFFF))
-		return EFBIG;
+	    && ((size64 / blocksize) > 0xFFFFFFFF)) {
+		rc = EFBIG;
+		goto out;
+	}
 	*retblocks = size64 / blocksize;
 out:
 	close(fd);