summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Layton <jlayton@samba.org>2012-11-07 10:19:16 -0500
committerJeff Layton <jlayton@samba.org>2012-11-07 10:19:16 -0500
commitb07c3d72ff27e1818e3c1a38466d027d04a54e04 (patch)
tree6a3af3b3293a51c821cac63a8566484a083db11d
parent47400ee5dcdda7e7b77b536f4befb5c04c1c5144 (diff)
downloadcifs-utils-b07c3d72ff27e1818e3c1a38466d027d04a54e04.tar.gz
cifs-utils-b07c3d72ff27e1818e3c1a38466d027d04a54e04.tar.bz2
cifs-utils-b07c3d72ff27e1818e3c1a38466d027d04a54e04.zip
setcifsacl: fix up endianness conversions
Don't use htole32 when you really want le32toh. Also, when copying or comparing ACEs, it's incorrect to convert the endianness of these fields. Let's just keep things simple and declare that multibyte fields in all of these structs are always kept in little-endian. Signed-off-by: Jeff Layton <jlayton@samba.org>
-rw-r--r--setcifsacl.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/setcifsacl.c b/setcifsacl.c
index 612796b..86dca9d 100644
--- a/setcifsacl.c
+++ b/setcifsacl.c
@@ -61,9 +61,9 @@ copy_sec_desc(const struct cifs_ntsd *pntsd, struct cifs_ntsd *pnntsd,
struct cifs_ctrl_acl *dacl_ptr, *ndacl_ptr;
/* copy security descriptor control portion */
- osidsoffset = htole32(pntsd->osidoffset);
- gsidsoffset = htole32(pntsd->gsidoffset);
- dacloffset = htole32(pntsd->dacloffset);
+ osidsoffset = le32toh(pntsd->osidoffset);
+ gsidsoffset = le32toh(pntsd->gsidoffset);
+ dacloffset = le32toh(pntsd->dacloffset);
pnntsd->revision = pntsd->revision;
pnntsd->type = pntsd->type;
@@ -110,7 +110,7 @@ copy_ace(struct cifs_ace *dace, struct cifs_ace *sace)
dace->type = sace->type;
dace->flags = sace->flags;
- dace->access_req = htole32(sace->access_req);
+ dace->access_req = sace->access_req;
dace->sid.revision = sace->sid.revision;
dace->sid.num_subauth = sace->sid.num_subauth;
@@ -119,9 +119,9 @@ copy_ace(struct cifs_ace *dace, struct cifs_ace *sace)
for (i = 0; i < sace->sid.num_subauth; i++)
dace->sid.sub_auth[i] = sace->sid.sub_auth[i];
- dace->size = htole16(sace->size);
+ dace->size = sace->size;
- return dace->size;
+ return le16toh(dace->size);
}
static int
@@ -155,7 +155,7 @@ compare_aces(struct cifs_ace *sace, struct cifs_ace *dace, int compflags)
}
if (compflags & COMPMASK) {
- if (dace->access_req != htole32(sace->access_req))
+ if (dace->access_req != sace->access_req)
return 0;
}