From: Stefan Metzmacher Date: Sun, 21 Aug 2022 18:47:13 +0000 (+0200) Subject: s3:torture: fix strict aliasing warnings in cmd_vfs.c X-Git-Tag: talloc-2.4.0~926 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7014475f5b8d22b267e8805c710fa6f46f2d23ca;p=thirdparty%2Fsamba.git s3:torture: fix strict aliasing warnings in cmd_vfs.c Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison --- diff --git a/source3/torture/cmd_vfs.c b/source3/torture/cmd_vfs.c index 0de3d75e688..af54466fe9f 100644 --- a/source3/torture/cmd_vfs.c +++ b/source3/torture/cmd_vfs.c @@ -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");