]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3:torture: fix strict aliasing warnings in cmd_vfs.c
authorStefan Metzmacher <metze@samba.org>
Sun, 21 Aug 2022 18:47:13 +0000 (20:47 +0200)
committerJeremy Allison <jra@samba.org>
Tue, 20 Sep 2022 00:34:34 +0000 (00:34 +0000)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/torture/cmd_vfs.c

index 0de3d75e688cc06c382583e5ed7daf519b31cb30..af54466fe9f83efbe3549385579c7a3c4acd0573 100644 (file)
@@ -386,10 +386,14 @@ static NTSTATUS cmd_open(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, c
                flagstr++;
        }
        if ((how.flags & O_CREAT) && argc == 4) {
-               if (sscanf(argv[3], "%ho", (unsigned short *)&how.mode) == 0) {
+               short _mode = 0;
+
+               if (sscanf(argv[3], "%ho", &_mode) == 0) {
                        printf("open: error=-1 (invalid mode!)\n");
                        return NT_STATUS_UNSUCCESSFUL;
                }
+
+               how.mode = _mode;
        }
 
        fsp = talloc_zero(vfs, struct files_struct);
@@ -1334,6 +1338,7 @@ static NTSTATUS cmd_link(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, c
 
 static NTSTATUS cmd_mknod(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv)
 {
+       short _mode = 0;
        mode_t mode;
        unsigned int dev_val;
        SMB_DEV_T dev;
@@ -1347,10 +1352,11 @@ static NTSTATUS cmd_mknod(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
                return NT_STATUS_OK;
        }
 
-       if (sscanf(argv[2], "%ho", (unsigned short *)&mode) == 0) {
+       if (sscanf(argv[2], "%ho", &_mode) == 0) {
                printf("open: error=-1 (invalid mode!)\n");
                return NT_STATUS_UNSUCCESSFUL;
        }
+       mode = _mode;
 
        if (sscanf(argv[3], "%x", &dev_val) == 0) {
                printf("open: error=-1 (invalid dev!)\n");