The branch, master has been updated
       via  504866860df smbd: Modernize DBGs
       via  48a19c5fbff smbd: Avoid a ZERO_STRUCT with an explicit 
initialization
       via  f3f5a56c5eb smbd: Fix CID 1508939 Use of 32-bit time_t
       via  35a7c99d992 rpc_server: Remove a leftover from before 
str_list_add_printf()
       via  7653cfa1e62 smbd: Make safe_symlink_target_path() static
       via  54160736c84 librpc: Fix whitespace
       via  ea634953063 libcli: Avoid a ZERO_STRUCT with a direct initialization
       via  3c76c3989c9 net: Fix a panic in "net vfs getntacl"
       via  9ac5f58a264 libndr: Simplify indentation in ndr_print
       via  898dcd99363 lib: Use metadata_fsp() where appropriate
       via  39ab4a25c26 smbd: Fix whitespace
      from  13521f85ad3 s3:auth: Fix Coverity ID 1646934: memory leak in 
make_pw_chat

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 504866860dffe09f1073d01486eb10342fb7cad3
Author: Volker Lendecke <v...@samba.org>
Date:   Mon Mar 31 10:27:13 2025 +0200

    smbd: Modernize DBGs
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>
    
    Autobuild-User(master): Martin Schwenke <mart...@samba.org>
    Autobuild-Date(master): Sat Jun 14 09:49:16 UTC 2025 on atb-devel-224

commit 48a19c5fbff3cf43ba43d8940c5b77bc025a99fa
Author: Volker Lendecke <v...@samba.org>
Date:   Mon Feb 24 21:04:32 2025 +0100

    smbd: Avoid a ZERO_STRUCT with an explicit initialization
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>

commit f3f5a56c5eb53bfd3d78998872249c32f6759618
Author: Volker Lendecke <v...@samba.org>
Date:   Wed Apr 2 12:30:25 2025 +0200

    smbd: Fix CID 1508939 Use of 32-bit time_t
    
    This will pop up somewhere else, but this one was easy to fix.
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>

commit 35a7c99d992a72786bb0684f987d0e926604ade3
Author: Volker Lendecke <v...@samba.org>
Date:   Sun Mar 23 17:57:37 2025 +0100

    rpc_server: Remove a leftover from before str_list_add_printf()
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>

commit 7653cfa1e6280ab8270687d858b93a29b2e3f026
Author: Volker Lendecke <v...@samba.org>
Date:   Sun Mar 30 20:28:11 2025 +0200

    smbd: Make safe_symlink_target_path() static
    
    Only used once
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>

commit 54160736c8482ad06066797d2033cb710caf7059
Author: Volker Lendecke <v...@samba.org>
Date:   Sun Mar 23 17:03:16 2025 +0100

    librpc: Fix whitespace
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>

commit ea63495306372339a885fecbc825599f10c193b1
Author: Volker Lendecke <v...@samba.org>
Date:   Tue Jun 10 09:55:58 2025 +0200

    libcli: Avoid a ZERO_STRUCT with a direct initialization
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>

commit 3c76c3989c9628a5e4c4e704185f4257620deccd
Author: Volker Lendecke <v...@samba.org>
Date:   Thu Mar 20 17:57:11 2025 +0100

    net: Fix a panic in "net vfs getntacl"
    
    We have to explicitly free smb_fname, because after openat_pathref_fsp
    we have a file descriptor around. If we then later talloc_free() the
    connection_struct, fd_handle_destructor() panics because talloc_free()
    does not free smb_fname before the connection_struct.
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>

commit 9ac5f58a264cb889898cc7bfc844192d6fad8139
Author: Volker Lendecke <v...@samba.org>
Date:   Sat Jun 7 11:34:18 2025 +0200

    libndr: Simplify indentation in ndr_print
    
    printf can take care of the for-loop
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>

commit 898dcd99363d96c45054bb9b7ec2aa9cf26e5d02
Author: Volker Lendecke <v...@samba.org>
Date:   Sat Jun 7 10:54:56 2025 +0200

    lib: Use metadata_fsp() where appropriate
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>

commit 39ab4a25c26b8a82a28fe1d4755f875a40f2e365
Author: Volker Lendecke <v...@samba.org>
Date:   Sat Jun 7 11:05:55 2025 +0200

    smbd: Fix whitespace
    
    Signed-off-by: Volker Lendecke <v...@samba.org>
    Reviewed-by: Martin Schwenke <mar...@meltin.net>

-----------------------------------------------------------------------

Summary of changes:
 libcli/smb/smbXcli_base.c     |  4 +---
 librpc/ndr/ndr.c              | 31 ++++++++---------------------
 librpc/ndr/ndr_dnsp.c         |  5 +----
 librpc/rpc/binding.c          | 46 +++++++++++++++++++++----------------------
 librpc/rpc/rpc_common.h       |  4 ++--
 source3/include/proto.h       |  6 ------
 source3/lib/adouble.c         |  2 +-
 source3/locking/locking.c     |  2 +-
 source3/rpc_server/rpc_host.c |  5 -----
 source3/smbd/filename.c       | 12 +++++------
 source3/smbd/msdfs.c          |  4 ++--
 source3/smbd/smb1_reply.c     |  2 +-
 source3/smbd/smb2_trans2.c    |  8 ++++----
 source3/utils/net_vfs.c       |  1 +
 source4/librpc/ndr/py_xattr.c |  7 ++-----
 15 files changed, 53 insertions(+), 86 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c
index d1e36a3fa1e..bf0ffb83702 100644
--- a/libcli/smb/smbXcli_base.c
+++ b/libcli/smb/smbXcli_base.c
@@ -4485,7 +4485,7 @@ static void smbXcli_negprot_smb1_done(struct tevent_req 
*subreq)
        bool server_writeunlock = false;
        struct GUID server_guid = GUID_zero();
        DATA_BLOB server_gss_blob = data_blob_null;
-       uint8_t server_challenge[8];
+       uint8_t server_challenge[8] = {};
        char *server_workgroup = NULL;
        char *server_name = NULL;
        int server_time_zone = 0;
@@ -4505,8 +4505,6 @@ static void smbXcli_negprot_smb1_done(struct tevent_req 
*subreq)
        }
        };
 
-       ZERO_STRUCT(server_challenge);
-
        status = smb1cli_req_recv(subreq, state,
                                  &recv_iov,
                                  &inhdr,
diff --git a/librpc/ndr/ndr.c b/librpc/ndr/ndr.c
index 896f682d2c2..082bacc2fa6 100644
--- a/librpc/ndr/ndr.c
+++ b/librpc/ndr/ndr.c
@@ -305,7 +305,6 @@ _PUBLIC_ void ndr_print_debugc_helper(struct ndr_print 
*ndr, const char *format,
 {
        va_list ap;
        char *s = NULL;
-       uint32_t i;
        int ret;
        int dbgc_class;
 
@@ -325,11 +324,7 @@ _PUBLIC_ void ndr_print_debugc_helper(struct ndr_print 
*ndr, const char *format,
                return;
        }
 
-       for (i=0;i<ndr->depth;i++) {
-               DEBUGADDC(dbgc_class, 1,("    "));
-       }
-
-       DEBUGADDC(dbgc_class, 1,("%s\n", s));
+       DEBUGADDC(dbgc_class, 1, ("%*.s\n", 4 * ndr->depth, s));
        free(s);
 }
 
@@ -337,7 +332,6 @@ _PUBLIC_ void ndr_print_debug_helper(struct ndr_print *ndr, 
const char *format,
 {
        va_list ap;
        char *s = NULL;
-       uint32_t i;
        int ret;
 
        va_start(ap, format);
@@ -354,23 +348,16 @@ _PUBLIC_ void ndr_print_debug_helper(struct ndr_print 
*ndr, const char *format,
                return;
        }
 
-       for (i=0;i<ndr->depth;i++) {
-               DEBUGADD(1,("    "));
-       }
-
-       DEBUGADD(1,("%s\n", s));
+       DEBUGADD(1, ("%*.s%s\n", 4 * ndr->depth, "", s));
        free(s);
 }
 
 _PUBLIC_ void ndr_print_printf_helper(struct ndr_print *ndr, const char 
*format, ...)
 {
        va_list ap;
-       uint32_t i;
 
        if (!ndr->no_newline) {
-               for (i=0;i<ndr->depth;i++) {
-                       printf("    ");
-               }
+               printf("%*.s", 4 * ndr->depth, "");
        }
 
        va_start(ap, format);
@@ -384,13 +371,12 @@ _PUBLIC_ void ndr_print_printf_helper(struct ndr_print 
*ndr, const char *format,
 _PUBLIC_ void ndr_print_string_helper(struct ndr_print *ndr, const char 
*format, ...)
 {
        va_list ap;
-       uint32_t i;
 
        if (!ndr->no_newline) {
-               for (i=0;i<ndr->depth;i++) {
-                       ndr->private_data = talloc_asprintf_append_buffer(
-                               (char *)ndr->private_data, "    ");
-               }
+               talloc_asprintf_addbuf((char **)&ndr->private_data,
+                                      "%*.s",
+                                      ndr->depth * 4,
+                                      "");
        }
 
        va_start(ap, format);
@@ -398,8 +384,7 @@ _PUBLIC_ void ndr_print_string_helper(struct ndr_print 
*ndr, const char *format,
                                                    format, ap);
        va_end(ap);
        if (!ndr->no_newline) {
-               ndr->private_data = talloc_asprintf_append_buffer((char 
*)ndr->private_data,
-                                                                 "\n");
+               talloc_asprintf_addbuf((char **)&ndr->private_data, "\n");
        }
 }
 
diff --git a/librpc/ndr/ndr_dnsp.c b/librpc/ndr/ndr_dnsp.c
index 2f218edade4..43efa3466d7 100644
--- a/librpc/ndr/ndr_dnsp.c
+++ b/librpc/ndr/ndr_dnsp.c
@@ -193,10 +193,7 @@ _PUBLIC_ void ndr_print_dnsp_string_list(struct ndr_print 
*ndr, const char *name
        uint32_t i;
 
        ndr->no_newline = true;
-       for (i=0; i<ndr->depth; i++) {
-               ndr->print(ndr, "    ");
-       }
-       ndr->print(ndr, "%-25s:", name);
+       ndr->print(ndr, "%*.s%-25s:", 4 * ndr->depth, "", name);
        for (i=0; i<list->count; i++) {
                ndr->print(ndr, " \"%s\"", list->str[i]);
        }
diff --git a/librpc/rpc/binding.c b/librpc/rpc/binding.c
index eaf3430c9d3..e0d66303583 100644
--- a/librpc/rpc/binding.c
+++ b/librpc/rpc/binding.c
@@ -1,4 +1,4 @@
-/* 
+/*
    Unix SMB/CIFS implementation.
 
    dcerpc utility functions
@@ -55,34 +55,34 @@ static const struct {
        int num_protocols;
        enum epm_protocol protseq[MAX_PROTSEQ];
 } transports[] = {
-       { "ncacn_np",     NCACN_NP, 3, 
+       { "ncacn_np",     NCACN_NP, 3,
                { EPM_PROTOCOL_NCACN, EPM_PROTOCOL_SMB, EPM_PROTOCOL_NETBIOS }},
-       { "ncacn_ip_tcp", NCACN_IP_TCP, 3, 
-               { EPM_PROTOCOL_NCACN, EPM_PROTOCOL_TCP, EPM_PROTOCOL_IP } }, 
-       { "ncacn_http", NCACN_HTTP, 3, 
-               { EPM_PROTOCOL_NCACN, EPM_PROTOCOL_HTTP, EPM_PROTOCOL_IP } }, 
-       { "ncadg_ip_udp", NCACN_IP_UDP, 3, 
+       { "ncacn_ip_tcp", NCACN_IP_TCP, 3,
+               { EPM_PROTOCOL_NCACN, EPM_PROTOCOL_TCP, EPM_PROTOCOL_IP } },
+       { "ncacn_http", NCACN_HTTP, 3,
+               { EPM_PROTOCOL_NCACN, EPM_PROTOCOL_HTTP, EPM_PROTOCOL_IP } },
+       { "ncadg_ip_udp", NCACN_IP_UDP, 3,
                { EPM_PROTOCOL_NCADG, EPM_PROTOCOL_UDP, EPM_PROTOCOL_IP } },
-       { "ncalrpc", NCALRPC, 2, 
+       { "ncalrpc", NCALRPC, 2,
                { EPM_PROTOCOL_NCALRPC, EPM_PROTOCOL_NAMED_PIPE } },
-       { "ncacn_unix_stream", NCACN_UNIX_STREAM, 2, 
+       { "ncacn_unix_stream", NCACN_UNIX_STREAM, 2,
                { EPM_PROTOCOL_NCACN, EPM_PROTOCOL_UNIX_DS } },
-       { "ncadg_unix_dgram", NCADG_UNIX_DGRAM, 2, 
+       { "ncadg_unix_dgram", NCADG_UNIX_DGRAM, 2,
                { EPM_PROTOCOL_NCADG, EPM_PROTOCOL_UNIX_DS } },
-       { "ncacn_at_dsp", NCACN_AT_DSP, 3, 
+       { "ncacn_at_dsp", NCACN_AT_DSP, 3,
                { EPM_PROTOCOL_NCACN, EPM_PROTOCOL_APPLETALK, EPM_PROTOCOL_DSP 
} },
-       { "ncadg_at_ddp", NCADG_AT_DDP, 3, 
+       { "ncadg_at_ddp", NCADG_AT_DDP, 3,
                { EPM_PROTOCOL_NCADG, EPM_PROTOCOL_APPLETALK, EPM_PROTOCOL_DDP 
} },
-       { "ncacn_vns_ssp", NCACN_VNS_SPP, 3, 
+       { "ncacn_vns_ssp", NCACN_VNS_SPP, 3,
                { EPM_PROTOCOL_NCACN, EPM_PROTOCOL_STREETTALK, 
EPM_PROTOCOL_VINES_SPP } },
-       { "ncacn_vns_ipc", NCACN_VNS_IPC, 3, 
+       { "ncacn_vns_ipc", NCACN_VNS_IPC, 3,
                { EPM_PROTOCOL_NCACN, EPM_PROTOCOL_STREETTALK, 
EPM_PROTOCOL_VINES_IPC }, },
        { "ncadg_ipx", NCADG_IPX, 2,
                { EPM_PROTOCOL_NCADG, EPM_PROTOCOL_IPX },
        },
        { "ncacn_spx", NCACN_SPX, 3,
-               /* I guess some MS programmer confused the identifier for 
-                * EPM_PROTOCOL_UUID (0x0D or 13) with the one for 
+               /* I guess some MS programmer confused the identifier for
+                * EPM_PROTOCOL_UUID (0x0D or 13) with the one for
                 * EPM_PROTOCOL_SPX (0x13) here. -- jelmer*/
                { EPM_PROTOCOL_NCACN, EPM_PROTOCOL_NCALRPC, EPM_PROTOCOL_UUID },
        },
@@ -141,11 +141,11 @@ const char *epm_floor_string(TALLOC_CTX *mem_ctx, struct 
epm_floor *epm_floor)
 
                                if (GUID_equal(&syntax.uuid, 
&ndr_transfer_syntax_ndr.uuid)) {
                                        return "NDR";
-                               } 
+                               }
 
                                if (GUID_equal(&syntax.uuid, 
&ndr_transfer_syntax_ndr64.uuid)) {
                                        return "NDR64";
-                               } 
+                               }
 
                                return talloc_asprintf(
                                        mem_ctx,
@@ -153,7 +153,7 @@ const char *epm_floor_string(TALLOC_CTX *mem_ctx, struct 
epm_floor *epm_floor)
                                        GUID_buf_string(&syntax.uuid, &buf),
                                        syntax.if_version);
                        } else { /* IPX */
-                               return talloc_asprintf(mem_ctx, "IPX:%s", 
+                               return talloc_asprintf(mem_ctx, "IPX:%s",
                                                
data_blob_hex_string_upper(mem_ctx, &epm_floor->rhs.uuid.unknown));
                        }
 
@@ -1092,8 +1092,8 @@ char *dcerpc_floor_get_rhs_data(TALLOC_CTX *mem_ctx, 
struct epm_floor *epm_floor
        return NULL;
 }
 
-static NTSTATUS dcerpc_floor_set_rhs_data(TALLOC_CTX *mem_ctx, 
-                                         struct epm_floor *epm_floor,  
+static NTSTATUS dcerpc_floor_set_rhs_data(TALLOC_CTX *mem_ctx,
+                                         struct epm_floor *epm_floor,
                                          const char *data)
 {
        if (data == NULL) {
@@ -1182,7 +1182,7 @@ enum dcerpc_transport_t 
dcerpc_transport_by_endpoint_protocol(int prot)
 
        /* Find a transport that has 'prot' as 4th protocol */
        for (i=0;i<ARRAY_SIZE(transports);i++) {
-               if (transports[i].num_protocols >= 2 && 
+               if (transports[i].num_protocols >= 2 &&
                        transports[i].protseq[1] == prot) {
                        return transports[i].transport;
                }
@@ -1200,7 +1200,7 @@ _PUBLIC_ enum dcerpc_transport_t 
dcerpc_transport_by_tower(const struct epm_towe
        for (i=0;i<ARRAY_SIZE(transports);i++) {
                int j;
                if (transports[i].num_protocols != tower->num_floors - 2) {
-                       continue; 
+                       continue;
                }
 
                for (j = 0; j < transports[i].num_protocols && j < MAX_PROTSEQ; 
j++) {
diff --git a/librpc/rpc/rpc_common.h b/librpc/rpc/rpc_common.h
index 2ec411653bc..d7559b5fc6f 100644
--- a/librpc/rpc/rpc_common.h
+++ b/librpc/rpc/rpc_common.h
@@ -43,8 +43,8 @@ struct tstream_context;
 struct gensec_security;
 
 enum dcerpc_transport_t {
-       NCA_UNKNOWN, NCACN_NP, NCACN_IP_TCP, NCACN_IP_UDP, NCACN_VNS_IPC, 
-       NCACN_VNS_SPP, NCACN_AT_DSP, NCADG_AT_DDP, NCALRPC, NCACN_UNIX_STREAM, 
+       NCA_UNKNOWN, NCACN_NP, NCACN_IP_TCP, NCACN_IP_UDP, NCACN_VNS_IPC,
+       NCACN_VNS_SPP, NCACN_AT_DSP, NCADG_AT_DDP, NCALRPC, NCACN_UNIX_STREAM,
        NCADG_UNIX_DGRAM, NCACN_HTTP, NCADG_IPX, NCACN_SPX, NCACN_INTERNAL };
 
 /** this describes a binding to a particular transport/pipe */
diff --git a/source3/include/proto.h b/source3/include/proto.h
index da0d0cb7dfe..9f4ab67ea64 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -668,12 +668,6 @@ struct smb_filename *synthetic_smb_fname(TALLOC_CTX 
*mem_ctx,
                                         const SMB_STRUCT_STAT *psbuf,
                                         NTTIME twrp,
                                         uint32_t flags);
-NTSTATUS safe_symlink_target_path(TALLOC_CTX *mem_ctx,
-                                 const char *connectpath,
-                                 const char *dir,
-                                 const char *target,
-                                 size_t unparsed,
-                                 char **_relative);
 struct reparse_data_buffer;
 NTSTATUS
 filename_convert_dirfsp_nosymlink(TALLOC_CTX *mem_ctx,
diff --git a/source3/lib/adouble.c b/source3/lib/adouble.c
index f8ae89d670c..9d22dafeb63 100644
--- a/source3/lib/adouble.c
+++ b/source3/lib/adouble.c
@@ -2697,7 +2697,7 @@ int ad_fset(struct vfs_handle_struct *handle,
        switch (ad->ad_type) {
        case ADOUBLE_META:
                rc = SMB_VFS_NEXT_FSETXATTR(handle,
-                                  fsp->base_fsp ? fsp->base_fsp : fsp,
+                                  metadata_fsp(fsp),
                                   AFPINFO_EA_NETATALK,
                                   ad->ad_data,
                                   AD_DATASZ_XATTR, 0);
diff --git a/source3/locking/locking.c b/source3/locking/locking.c
index 9a45424cf3d..cebdb311b4b 100644
--- a/source3/locking/locking.c
+++ b/source3/locking/locking.c
@@ -1,4 +1,4 @@
-/* 
+/*
    Unix SMB/CIFS implementation.
    Locking functions
    Copyright (C) Andrew Tridgell 1992-2000
diff --git a/source3/rpc_server/rpc_host.c b/source3/rpc_server/rpc_host.c
index 5232c5f17fa..b88cdf48cc3 100644
--- a/source3/rpc_server/rpc_host.c
+++ b/source3/rpc_server/rpc_host.c
@@ -268,11 +268,6 @@ static struct tevent_req *rpc_server_get_endpoints_send(
                return tevent_req_post(req, ev);
        }
 
-       state->argl = talloc_array(state, char *, 4);
-       if (tevent_req_nomem(state->argl, req)) {
-               return tevent_req_post(req, ev);
-       }
-
        state->argl = str_list_make_empty(state);
        str_list_add_printf(&state->argl, "%s", rpc_server_exe);
        str_list_add_printf(&state->argl, "--list-interfaces");
diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c
index e4234178c0d..6a9d5f99d2a 100644
--- a/source3/smbd/filename.c
+++ b/source3/smbd/filename.c
@@ -595,12 +595,12 @@ static NTSTATUS filename_convert_normalize_new(
        return NT_STATUS_OK;
 }
 
-NTSTATUS safe_symlink_target_path(TALLOC_CTX *mem_ctx,
-                                 const char *connectpath,
-                                 const char *dir,
-                                 const char *target,
-                                 size_t unparsed,
-                                 char **_relative)
+static NTSTATUS safe_symlink_target_path(TALLOC_CTX *mem_ctx,
+                                        const char *connectpath,
+                                        const char *dir,
+                                        const char *target,
+                                        size_t unparsed,
+                                        char **_relative)
 {
        char *abs_target = NULL;
        char *abs_target_canon = NULL;
diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c
index d8361fb8060..eb0333d46be 100644
--- a/source3/smbd/msdfs.c
+++ b/source3/smbd/msdfs.c
@@ -288,14 +288,14 @@ static NTSTATUS create_conn_struct_as_root(TALLOC_CTX 
*ctx,
 
        if (!smbd_vfs_init(conn)) {
                NTSTATUS status = map_nt_error_from_unix(errno);
-               DEBUG(0,("create_conn_struct: smbd_vfs_init failed.\n"));
+               DBG_ERR("smbd_vfs_init failed.\n");
                conn_free(conn);
                return status;
        }
 
        /* this must be the first filesystem operation that we do */
        if (SMB_VFS_CONNECT(conn, servicename, vfs_user) < 0) {
-               DEBUG(0,("VFS connect failed!\n"));
+               DBG_ERR("VFS connect failed!\n");
                conn_free(conn);
                return NT_STATUS_UNSUCCESSFUL;
        }
diff --git a/source3/smbd/smb1_reply.c b/source3/smbd/smb1_reply.c
index bba77119c16..83b754f9c77 100644
--- a/source3/smbd/smb1_reply.c
+++ b/source3/smbd/smb1_reply.c
@@ -1907,7 +1907,7 @@ void reply_open_and_X(struct smb_request *req)
 #endif
        int smb_ofun;
        uint32_t fattr=0;
-       int mtime=0;
+       time_t mtime=0;
        int smb_action = 0;
        struct files_struct *dirfsp = NULL;
        files_struct *fsp;
diff --git a/source3/smbd/smb2_trans2.c b/source3/smbd/smb2_trans2.c
index 0370a8332cd..3483a413335 100644
--- a/source3/smbd/smb2_trans2.c
+++ b/source3/smbd/smb2_trans2.c
@@ -1783,7 +1783,10 @@ NTSTATUS smbd_dirptr_lanman2_entry(TALLOC_CTX *ctx,
        uint32_t mode = 0;
        char *fname = NULL;
        struct smb_filename *smb_fname = NULL;
-       struct smbd_dirptr_lanman2_state state;
+       struct smbd_dirptr_lanman2_state state = {
+               .conn = conn,
+               .info_level = info_level,
+       };
        bool ok;
        uint64_t last_entry_off = 0;
        NTSTATUS status;
@@ -1792,9 +1795,6 @@ NTSTATUS smbd_dirptr_lanman2_entry(TALLOC_CTX *ctx,
 
        mangled_names = lp_mangled_names(conn->params);
 
-       ZERO_STRUCT(state);
-       state.conn = conn;
-       state.info_level = info_level;
        if (mangled_names != MANGLED_NAMES_NO) {
                state.check_mangled_names = true;
        }
diff --git a/source3/utils/net_vfs.c b/source3/utils/net_vfs.c
index 1cc775f3c4d..8120811676e 100644
--- a/source3/utils/net_vfs.c
+++ b/source3/utils/net_vfs.c
@@ -278,6 +278,7 @@ static int net_vfs_get_ntacl(struct net_context *net,
        if (!NT_STATUS_IS_OK(status)) {
                DBG_ERR("SMB_VFS_CREATE_FILE [%s] failed: %s\n",
                        smb_fname_str_dbg(smb_fname), nt_errstr(status));
+               TALLOC_FREE(smb_fname);
                goto done;
        }
 
diff --git a/source4/librpc/ndr/py_xattr.c b/source4/librpc/ndr/py_xattr.c
index 523c1ab4a19..df134e01a9a 100644
--- a/source4/librpc/ndr/py_xattr.c
+++ b/source4/librpc/ndr/py_xattr.c
@@ -44,7 +44,7 @@ static void ntacl_print_debug_helper(struct ndr_print *ndr, 
const char *format,
 {
         va_list ap;
         char *s = NULL;
-        int i, ret;
+        int ret;
 
         va_start(ap, format);
         ret = vasprintf(&s, format, ap);
@@ -54,11 +54,8 @@ static void ntacl_print_debug_helper(struct ndr_print *ndr, 
const char *format,
                return;
        }
 
-        for (i=0;i<ndr->depth;i++) {
-                printf("    ");
-        }
+       printf("%*.s\n", 4 * ndr->depth, s);
 
-        printf("%s\n", s);
         free(s);
 }
 


-- 
Samba Shared Repository

Reply via email to