diff options
-rw-r--r-- | cifs.idmap.c | 8 | ||||
-rw-r--r-- | setcifsacl.c | 5 |
2 files changed, 10 insertions, 3 deletions
diff --git a/cifs.idmap.c b/cifs.idmap.c index cbc01c5..d557edb 100644 --- a/cifs.idmap.c +++ b/cifs.idmap.c @@ -172,12 +172,14 @@ cifs_idmap(const key_serial_t key, const char *key_descr) sidstr = strget(key_descr, "oi:"); if (sidstr) { - rc = str_to_uint(sidstr, (unsigned int *)&cuxid.id.uid); + unsigned int _uid = 0; + rc = str_to_uint(sidstr, (unsigned int *)&_uid); if (rc) { syslog(LOG_ERR, "Unable to convert %s to uid: %s", sidstr, strerror(rc)); goto cifs_idmap_ret; } + cuxid.id.uid = _uid; cuxid.type = CIFS_UXID_TYPE_UID; syslog(LOG_DEBUG, "SID: %s, uid: %u", sidstr, cuxid.id.uid); @@ -198,12 +200,14 @@ cifs_idmap(const key_serial_t key, const char *key_descr) sidstr = strget(key_descr, "gi:"); if (sidstr) { - rc = str_to_uint(sidstr, (unsigned int *)&cuxid.id.gid); + unsigned int _gid = 0; + rc = str_to_uint(sidstr, (unsigned int *)&_gid); if (rc) { syslog(LOG_ERR, "Unable to convert %s to gid: %s", sidstr, strerror(rc)); goto cifs_idmap_ret; } + cuxid.id.gid = _gid; cuxid.type = CIFS_UXID_TYPE_GID; syslog(LOG_DEBUG, "SID: %s, gid: %u", sidstr, cuxid.id.gid); diff --git a/setcifsacl.c b/setcifsacl.c index 7ede417..d832cec 100644 --- a/setcifsacl.c +++ b/setcifsacl.c @@ -1111,6 +1111,7 @@ build_cmdline_aces(char **arrptr, int numcaces, ace_kinds ace_kind) int i; char *acesid, *acetype, *aceflag, *acemask; struct cifs_ace **cacesptr; + uint32_t access_req = 0; cacesptr = calloc(numcaces, sizeof(struct cifs_ace *)); if (!cacesptr) { @@ -1156,12 +1157,14 @@ build_cmdline_aces(char **arrptr, int numcaces, ace_kinds ace_kind) goto build_cmdline_aces_ret; } - if (verify_ace_mask(acemask, &cacesptr[i]->access_req)) { + if (verify_ace_mask(acemask, &access_req)) { fprintf(stderr, "%s: Invalid ACE mask: %s\n", __func__, arrptr[i]); goto build_cmdline_aces_ret; } + cacesptr[i]->access_req = access_req; + cacesptr[i]->size = htole16(1 + 1 + 2 + 4 + 1 + 1 + 6 + cacesptr[i]->sid.num_subauth * 4); } |