s3-libsmb: Fix scanf format in parse_ace().
authorAndreas Schneider <asn@samba.org>
Fri, 15 Nov 2013 16:02:16 +0000 (17:02 +0100)
committerJeremy Allison <jra@samba.org>
Fri, 15 Nov 2013 19:07:49 +0000 (11:07 -0800)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/libsmb/libsmb_xattr.c

index 22ffa8ff87aa198b5dab8ca022e474781347e38b..7d34290b65d3ddf511ce5f321b14ab373b1401ce 100644 (file)
@@ -303,7 +303,7 @@ parse_ace(struct cli_state *ipc_cli,
        p++;
        /* Try to parse numeric form */
 
-       if (sscanf(p, "%i/%i/%i", &atype, &aflags, &amask) == 3 &&
+       if (sscanf(p, "%u/%u/%u", &atype, &aflags, &amask) == 3 &&
            convert_string_to_sid(ipc_cli, pol, numeric, &sid, str)) {
                goto done;
        }
@@ -333,7 +333,7 @@ parse_ace(struct cli_state *ipc_cli,
        /* Only numeric form accepted for flags at present */
 
        if (!(next_token_talloc(frame, &cp, &tok, "/") &&
-             sscanf(tok, "%i", &aflags))) {
+             sscanf(tok, "%u", &aflags))) {
                TALLOC_FREE(frame);
                return false;
        }
@@ -344,7 +344,7 @@ parse_ace(struct cli_state *ipc_cli,
        }
 
        if (strncmp(tok, "0x", 2) == 0) {
-               if (sscanf(tok, "%i", &amask) != 1) {
+               if (sscanf(tok, "%u", &amask) != 1) {
                        TALLOC_FREE(frame);
                        return false;
                }