summaryrefslogtreecommitdiff
path: root/mount/debian/patches/udfs-ud_lib.c-pointers.patch
blob: 014eaf25a2b4d46447f50dc7156bbd0262d36c75 (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Index: mount/usr/src/cmd/fs.d/udfs/fstyp/ud_lib.c
===================================================================
--- mount.orig/usr/src/cmd/fs.d/udfs/fstyp/ud_lib.c	2012-10-08 00:25:23.000000000 +0000
+++ mount/usr/src/cmd/fs.d/udfs/fstyp/ud_lib.c	2013-01-26 01:44:20.914424396 +0000
@@ -27,6 +27,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <stddef.h>
 #include <malloc.h>
 #include <unistd.h>
 #include <strings.h>
@@ -589,8 +590,7 @@
 				(SWAP_32(lvd->lvd_vdsn) > v->lvd_vdsn)) {
 				v->lvd_vdsn = SWAP_32(lvd->lvd_vdsn);
 				v->lvd_loc = vds_loc;
-				v->lvd_len = ((uint32_t)
-					&((struct log_vol_desc *)0)->lvd_pmaps);
+				v->lvd_len = offsetof(struct log_vol_desc, lvd_pmaps);
 				v->lvd_len =
 					lb_roundup(v->lvd_len, h->udfs.lbsize);
 			}
@@ -603,10 +603,8 @@
 			/* LINTED */
 			usd = (struct unall_spc_desc *)taddr;
 			v->usd_loc = vds_loc;
-			v->usd_len = ((uint32_t)
-			&((unall_spc_desc_t *)0)->ua_al_dsc) +
-				SWAP_32(usd->ua_nad) *
-				sizeof (struct extent_ad);
+			v->usd_len = offsetof(unall_spc_desc_t, ua_al_dsc) +
+				SWAP_32(usd->ua_nad) * sizeof (struct extent_ad);
 			v->usd_len = lb_roundup(v->usd_len, h->udfs.lbsize);
 			break;
 		case UD_TERM_DESC :
@@ -809,8 +807,7 @@
 			/* LINTED */
 			lvid = (struct log_vol_int_desc *)taddr;
 			h->udfs.lvid_loc = lvds_loc;
-			h->udfs.lvid_len = ((uint32_t)
-			&((struct log_vol_int_desc *)0)->lvid_fst) +
+			h->udfs.lvid_len = offsetof(struct log_vol_int_desc, lvid_fst) +
 				SWAP_32(lvid->lvid_npart) * 8 +
 				SWAP_32(lvid->lvid_liu);
 			h->udfs.lvid_len = lb_roundup(h->udfs.lvid_len,
@@ -1231,7 +1228,7 @@
 			dot_loc = j;
 		}
 		if ((unicode[i] == SLASH) ||
-			(unicode[i] == NULL)) {
+			(unicode[i] == 0)) {
 			if (make_crc == 0) {
 				for (k = 0; k <= i; k++) {
 					crc += unicode[k];