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];
|