[SCM] Samba Shared Repository - branch master updated

Gary Lockyer gary at samba.org
Wed Jul 17 00:08:03 UTC 2019


The branch, master has been updated
       via  c4613521723 s3/lib/smbconf: clang: 'Value stored during its initialization is never read'
       via  b388c217d4f s3/lib: clang: 'Value stored to 'rta' is never read'
       via  963f58fb622 s3/registry: clang: Fix 'initialization value is never read'
       via  80e57a10164 s3/registry: clang: Fix 'initialization value is never read'
       via  e3e9330609b s3/lib: clang: Fix 'passed-by-value struct argument contains uninit-ed data'
       via  6ea9c795b13 libcli/smb: clang: Fix ' 2nd function call argument is an uninitialized value'
       via  fb49e411aa3 libcli/smb: clang: Fix 'Dereference of null pointer'
       via  3594c3ae202 libcli/smb: clang: Fix 'Array access results in a null pointer deref'
       via  7a86c99ccb6 libcli/smb: clang: Fix 'array access results in a null pointer deref'
       via  7b8ec24ccfb s4/libcli/raw: Fix 'Value stored to 'p' is never read'
       via  4f61a9980db s3/param: clang: Fix 'Value stored to 'bRetval' is never read'
       via  06c3a493d99 s4/libcli/raw: clang: Fix 'initialization value is never read'
       via  be319e24bb9 s4/libcli: clang: Fix 'initialization value is never read'
       via  a901c5768ac libcli/cldap: clang: Fix 'Dereference of null pointer'
       via  9cfdb9f1906 libcls/netlogon: clang: Fix 'initialization value is never read'
       via  8aed7e9aae1 s4/libcli/ldab: clang: Fix 'Access results in a deref of a null pointer'
       via  80f5461ae6c s3/lib: clang: Fix 'Value stored to 'b' is never read'
       via  0ca6d34a69d s3/lib/dwrap: clang: Fix 'Array access results in a null pointer dereference'
       via  57e9b358ec8 s3/lib: clang: Fix 'Value stored during its initialization is never read'
      from  9cf3379a140 third_party: Update uid_wrapper to version 1.2.7

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


- Log -----------------------------------------------------------------
commit c4613521723e3ab9b462d75485a514ca16595226
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 11:50:18 2019 +0000

    s3/lib/smbconf: clang: 'Value stored during its initialization is never read'
    
    Fixes:
    
    source3/lib/smbconf/smbconf_reg.c:123:9: warning: Value stored to 'werr' during its initialization is never read <--[clang]
            WERROR werr = WERR_OK;
                   ^~~~   ~~~~~~~
    source3/lib/smbconf/smbconf_reg.c:178:9: warning: Value stored to 'werr' during its initialization is never read <--[clang]
            WERROR werr = WERR_OK;
                   ^~~~   ~~~~~~~
    source3/lib/smbconf/smbconf_reg.c:444:9: warning: Value stored to 'werr' during its initialization is never read <--[clang]
            WERROR werr = WERR_OK;
                   ^~~~   ~~~~~~~
    source3/lib/smbconf/smbconf_reg.c:583:9: warning: Value stored to 'werr' during its initialization is never read <--[clang]
            WERROR werr = WERR_OK;
                   ^~~~   ~~~~~~~
    source3/lib/smbconf/smbconf_reg.c:712:9: warning: Value stored to 'werr' during its initialization is never read <--[clang]
            WERROR werr = WERR_OK;
                   ^~~~   ~~~~~~~
    source3/lib/smbconf/smbconf_reg.c:995:9: warning: Value stored to 'werr' during its initialization is never read <--[clang]
            WERROR werr = WERR_OK;
                   ^~~~   ~~~~~~~
    source3/lib/smbconf/smbconf_reg.c:1103:9: warning: Value stored to 'werr' during its initialization is never read <--[clang]
            WERROR werr = WERR_OK;
                   ^~~~   ~~~~~~~
    7 warnings generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>
    
    Autobuild-User(master): Gary Lockyer <gary at samba.org>
    Autobuild-Date(master): Wed Jul 17 00:07:48 UTC 2019 on sn-devel-184

commit b388c217d4fa0d2451a5d949b4fdf5a778d814a1
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 11:45:01 2019 +0000

    s3/lib: clang: 'Value stored to 'rta' is never read'
    
    Fixes:
    source3/lib/addrchange.c:217:2: warning: Value stored to 'rta' is never read <--[clang]
            rta = IFA_RTA(ifa);
            ^     ~~~~~~~~~~~~
    1 warning generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 963f58fb622f20d58f9dab2d5f474c7eec58a8e2
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 11:35:35 2019 +0000

    s3/registry: clang: Fix 'initialization value is never read'
    
    Fixes:
    
    source3/registry/reg_backend_db.c:853:9: warning: Value stored to 'result' during its initialization is never read <--[clang]
            WERROR result = WERR_OK;
                   ^~~~~~   ~~~~~~~
    
    source3/registry/reg_backend_db.c:1677:2: warning: Value stored to 'len' is never read <--[clang]
            len = 0;
            ^     ~
    2 warnings generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 80e57a10164cc8482f0611cbce4086521051ec9b
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 11:26:06 2019 +0000

    s3/registry: clang: Fix 'initialization value is never read'
    
    Fixes:
    
    source3/registry/reg_api.c:139:14: warning: Value stored to 'result' during its initialization is never read <--[clang]
            WERROR          result = WERR_OK;
                            ^~~~~~   ~~~~~~~
    ource3/registry/reg_api.c:958:9: warning: Value stored to 'werr' during its initialization is never read <--[clang]
            WERROR werr = WERR_OK;
                   ^~~~   ~~~~~~~
    2 warnings generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit e3e9330609b527a101dfde9a1109da7cb389ed32
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 11:22:43 2019 +0000

    s3/lib: clang: Fix 'passed-by-value struct argument contains uninit-ed data'
    
    Fixed:
    
    g_lock.c:358:21: warning: Passed-by-value struct argument contains uninitialized data (e.g., field: 'pid') <--[clang]
            state->watch_req = dbwrap_watched_watch_send(
                               ^
    1 warning generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 6ea9c795b138ebaee40f0ab7d7741cab236cec96
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 10:46:44 2019 +0000

    libcli/smb: clang: Fix ' 2nd function call argument is an uninitialized value'
    
    Fixes:
    
    /home/samba/samba/libcli/smb/smbXcli_base.c:5120:8: warning: 2nd function call argument is an uninitialized value <--[clang]
                    rc = gnutls_hash(hash_hnd,
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit fb49e411aa3ca397b19ea57528c2f67f9b85c877
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 10:41:29 2019 +0000

    libcli/smb: clang: Fix 'Dereference of null pointer'
    
    Fixes:
    
    smbXcli_base.c:4885:20: warning: Dereference of null pointer <--[clang]
            body = (uint8_t *)iov[1].iov_base;
                              ^~~~~~~~~~~~~~~
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 3594c3ae202688fd8aae5f7f5e20464cb23feea9
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 10:37:34 2019 +0000

    libcli/smb: clang: Fix 'Array access results in a null pointer deref'
    
    Fixes:
    
    smbXcli_base.c:4393:10: warning: Array access (from variable 'inhdr') results in a null pointer dereference <--[clang]
            flags = CVAL(inhdr, HDR_FLG);
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 7a86c99ccb6912effdbb0ffbdc5c66eccf8c1aa2
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 10:22:49 2019 +0000

    libcli/smb: clang: Fix 'array access results in a null pointer deref'
    
    Fixes:
    
    smbXcli_base.c:1239:9: warning: Array access (via field 'pending') results in a null pointer dereference <--[clang]
                    req = conn->pending[0];
                          ^
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 7b8ec24ccfb06c1d499bf500183c0dc24de553a0
Author: Noel Power <noel.power at suse.com>
Date:   Thu Jul 11 12:00:27 2019 +0000

    s4/libcli/raw: Fix 'Value stored to 'p' is never read'
    
    Fixes:
    
    source4/libcli/raw/clitree.c:138:3: warning: Value stored to 'p' is never read <--[clang]
                    p += smbcli_req_pull_string(&req->in.bufinfo, mem_ctx, &parms->tconx.out.fs_type,
                    ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1 warning generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 4f61a9980dbd23774e7d0c205e59dc6c593067dd
Author: Noel Power <noel.power at suse.com>
Date:   Thu Jul 11 11:36:46 2019 +0000

    s3/param: clang: Fix 'Value stored to 'bRetval' is never read'
    
    Fixes:
    
    source3/param/loadparm.c:2770:2: warning: Value stored to 'bRetval' is never read <--[clang]
            bRetval = false;
            ^         ~~~~~
    source3/param/loadparm.c:3868:2: warning: Value stored to 'bRetval' is never read <--[clang]
            bRetval = false;
            ^         ~~~~~
    2 warnings generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 06c3a493d99846af62c185a9db1a6823726ac1fc
Author: Noel Power <noel.power at suse.com>
Date:   Thu Jul 11 11:33:18 2019 +0000

    s4/libcli/raw: clang: Fix 'initialization value is never read'
    
    Fixes:
    
    source4/libcli/raw/rawnegotiate.c:157:11: warning: Value stored to 'status' during its initialization is never read <--[clang]
            NTSTATUS status = NT_STATUS_INTERNAL_ERROR;
                     ^~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~
    1 warning generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit be319e24bb96ac4acbf55f36403f37af08107660
Author: Noel Power <noel.power at suse.com>
Date:   Thu Jul 11 11:31:03 2019 +0000

    s4/libcli: clang: Fix 'initialization value is never read'
    
    Fixes:
    
    source4/libcli/smb_composite/fetchfile.c:91:11: warning: Value stored to 'status' during its initialization is never read <--[clang]
            NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
                     ^~~~~~   ~~~~~~~~~~~~~~~~~~~~~~
    1 warning generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit a901c5768accd49b40b17b3350613ca7819a2854
Author: Noel Power <noel.power at suse.com>
Date:   Thu Jul 11 11:28:58 2019 +0000

    libcli/cldap: clang: Fix 'Dereference of null pointer'
    
    Fixes:
    
    libcli/cldap/cldap.c:144:8: warning: Dereference of null pointer <--[clang]
                    ev = c->searches.list->caller.ev;
                         ^
    1 warning generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 9cfdb9f190688682dd62d7c148f1d801921a3b92
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 16:34:56 2019 +0100

    libcls/netlogon: clang: Fix 'initialization value is never read'
    
    Fixes:
    
    libcli/netlogon/netlogon.c:183:11: warning: Value stored to 'status' during its initialization is never read <--[clang]
            NTSTATUS status = NT_STATUS_INVALID_NETWORK_RESPONSE;
                     ^~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    libcli/netlogon/netlogon.c:224:11: warning: Value stored to 'status' during its initialization is never read <--[clang]
            NTSTATUS status = NT_STATUS_INVALID_NETWORK_RESPONSE;
                     ^~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2 warnings generated.
    
    Note: although use of default seems unecessary but gcc
    (with --picky-developer) detects the possibiliy still that status
    may be undefined (presumably by a non enum value leaking
    into the switch)
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 8aed7e9aae13b3fc64a2af1fbdf835f12038ac9b
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 16:13:38 2019 +0100

    s4/libcli/ldab: clang: Fix 'Access results in a deref of a null pointer'
    
    Fixes:
    
    source4/libcli/ldap/ldap_client.c:1023:6: warning: Access to field 'type' results in a dereference of a null pointer <--[clang]
            if ((*msg)->type != type) {
                ^~~~~~~~~~~~
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 80f5461ae6c9e7b443b6845ca9dc341d530a04dd
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 16:07:35 2019 +0100

    s3/lib: clang: Fix 'Value stored to 'b' is never read'
    
    Fixes:
    
    source3/lib/substitute.c:516:7: warning: Value stored to 'b' is never read <--[clang]
            for (b = s = a_string; (p = strchr_m(s, '%')); s = a_string + (p - b)) {
                 ^   ~~~~~~~~~~~~
    source3/lib/substitute.c:709:7: warning: Value stored to 'b' is never read <--[clang]
            for (b = s = a_string; (p = strchr_m(s, '%')); s = a_string + (p - b)) {
                 ^   ~~~~~~~~~~~~
    source3/lib/substitute.c:811:7: warning: Value stored to 'b' is never read <--[clang]
            for (b = s = a_string; (p = strchr_m(s, '%')); s = a_string + (p - b)) {
                 ^   ~~~~~~~~~~~~
    3 warnings generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 0ca6d34a69d308ad756f3697f8f44a8e642b27f0
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 15:55:48 2019 +0100

    s3/lib/dwrap: clang: Fix 'Array access results in a null pointer dereference'
    
    Fixes:
    
    source3/lib/dbwrap/dbwrap_watch.c:55:3: warning: Array access (from variable 'wkey') results in a null pointer dereference <--[clang]
                    SIVAL(wkey, 0, db_id_len);
                    ^
    1 warning generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

commit 57e9b358ec836e8d8133242c0f6ce4d896531a40
Author: Noel Power <noel.power at suse.com>
Date:   Wed Jul 10 15:49:11 2019 +0100

    s3/lib: clang: Fix 'Value stored during its initialization is never read'
    
    Fixes:
    
    source3/lib/messages.c:483:11: warning: Value stored to 'status' during its initialization is never read <--[clang]
            NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
                     ^~~~~~   ~~~~~~~~~~~~~~~~~~~~~~
    1 warning generated.
    
    Signed-off-by: Noel Power <noel.power at suse.com>
    Reviewed-by: Gary Lockyer <gary at catalyst.net.nz>

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

Summary of changes:
 libcli/cldap/cldap.c                     |  4 ++++
 libcli/netlogon/netlogon.c               |  8 ++++++--
 libcli/smb/smbXcli_base.c                | 13 +++++++------
 source3/lib/addrchange.c                 |  1 -
 source3/lib/dbwrap/dbwrap_watch.c        |  2 +-
 source3/lib/g_lock.c                     |  2 +-
 source3/lib/messages.c                   |  2 +-
 source3/lib/smbconf/smbconf_reg.c        | 14 +++++++-------
 source3/lib/substitute.c                 |  6 +++---
 source3/param/loadparm.c                 |  3 ---
 source3/registry/reg_api.c               |  4 ++--
 source3/registry/reg_backend_db.c        | 21 +++++++++++----------
 source4/libcli/ldap/ldap_client.c        |  2 +-
 source4/libcli/raw/clitree.c             |  2 +-
 source4/libcli/raw/rawnegotiate.c        |  5 +++--
 source4/libcli/smb_composite/fetchfile.c |  5 ++++-
 16 files changed, 52 insertions(+), 42 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/cldap/cldap.c b/libcli/cldap/cldap.c
index daba37a21d7..f609bf278e4 100644
--- a/libcli/cldap/cldap.c
+++ b/libcli/cldap/cldap.c
@@ -141,6 +141,10 @@ static bool cldap_recvfrom_setup(struct cldap_socket *c)
 
 	ev = c->incoming.ev;
 	if (ev == NULL) {
+		/* this shouldn't happen but should be protected against */
+		if (c->searches.list == NULL) {
+			return false;
+		}
 		ev = c->searches.list->caller.ev;
 	}
 
diff --git a/libcli/netlogon/netlogon.c b/libcli/netlogon/netlogon.c
index 58a331d70ad..239503e85b6 100644
--- a/libcli/netlogon/netlogon.c
+++ b/libcli/netlogon/netlogon.c
@@ -180,7 +180,7 @@ void map_netlogon_samlogon_response(struct netlogon_samlogon_response *response)
 NTSTATUS push_nbt_netlogon_response(DATA_BLOB *data, TALLOC_CTX *mem_ctx,
 				    struct nbt_netlogon_response *response)
 {
-	NTSTATUS status = NT_STATUS_INVALID_NETWORK_RESPONSE;
+	NTSTATUS status;
 	enum ndr_err_code ndr_err;
 	switch (response->response_type) {
 	case NETLOGON_GET_PDC:
@@ -212,6 +212,9 @@ NTSTATUS push_nbt_netlogon_response(DATA_BLOB *data, TALLOC_CTX *mem_ctx,
 		}
 		status = NT_STATUS_OK;
 		break;
+	default:
+		status = NT_STATUS_INVALID_NETWORK_RESPONSE;
+		break;
 	}
 
 	return status;
@@ -221,7 +224,7 @@ NTSTATUS push_nbt_netlogon_response(DATA_BLOB *data, TALLOC_CTX *mem_ctx,
 NTSTATUS pull_nbt_netlogon_response(DATA_BLOB *data, TALLOC_CTX *mem_ctx,
 					 struct nbt_netlogon_response *response)
 {
-	NTSTATUS status = NT_STATUS_INVALID_NETWORK_RESPONSE;
+	NTSTATUS status;
 	enum netlogon_command command;
 	enum ndr_err_code ndr_err;
 	if (data->length < 4) {
@@ -273,6 +276,7 @@ NTSTATUS pull_nbt_netlogon_response(DATA_BLOB *data, TALLOC_CTX *mem_ctx,
 	case LOGON_REQUEST:
 	case NETLOGON_ANNOUNCE_UAS:
 	case LOGON_SAM_LOGON_REQUEST:
+	default:
 		status = NT_STATUS_INVALID_NETWORK_RESPONSE;
 	}
 
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c
index 2f5fac08128..98c928795ec 100644
--- a/libcli/smb/smbXcli_base.c
+++ b/libcli/smb/smbXcli_base.c
@@ -1229,7 +1229,8 @@ void smbXcli_conn_disconnect(struct smbXcli_conn *conn, NTSTATUS status)
 	 * conn->pending because that array changes in
 	 * smbXcli_req_unset_pending.
 	 */
-	while (talloc_array_length(conn->pending) > 0) {
+	while (conn->pending != NULL &&
+	       talloc_array_length(conn->pending) > 0) {
 		struct tevent_req *req;
 		struct smbXcli_req_state *state;
 		struct tevent_req **chain;
@@ -4326,7 +4327,7 @@ static void smbXcli_negprot_smb1_done(struct tevent_req *subreq)
 		struct smbXcli_negprot_state);
 	struct smbXcli_conn *conn = state->conn;
 	struct iovec *recv_iov = NULL;
-	uint8_t *inhdr;
+	uint8_t *inhdr = NULL;
 	uint8_t wct;
 	uint16_t *vwv;
 	uint32_t num_bytes;
@@ -4386,7 +4387,7 @@ static void smbXcli_negprot_smb1_done(struct tevent_req *subreq)
 				  NULL, /* pinbuf */
 				  expected, ARRAY_SIZE(expected));
 	TALLOC_FREE(subreq);
-	if (tevent_req_nterror(req, status)) {
+	if (inhdr == NULL || tevent_req_nterror(req, status)) {
 		return;
 	}
 
@@ -4850,7 +4851,7 @@ static void smbXcli_negprot_smb2_done(struct tevent_req *subreq)
 	size_t security_offset, security_length;
 	DATA_BLOB blob;
 	NTSTATUS status;
-	struct iovec *iov;
+	struct iovec *iov = NULL;
 	uint8_t *body;
 	size_t i;
 	uint16_t dialect_revision;
@@ -4867,7 +4868,7 @@ static void smbXcli_negprot_smb2_done(struct tevent_req *subreq)
 	uint16_t hash_selected;
 	gnutls_hash_hd_t hash_hnd = NULL;
 	struct smb2_negotiate_context *cipher = NULL;
-	struct iovec sent_iov[3];
+	struct iovec sent_iov[3] = {{0}, {0}, {0}};
 	static const struct smb2cli_req_expected_response expected[] = {
 	{
 		.status = NT_STATUS_OK,
@@ -4878,7 +4879,7 @@ static void smbXcli_negprot_smb2_done(struct tevent_req *subreq)
 
 	status = smb2cli_req_recv(subreq, state, &iov,
 				  expected, ARRAY_SIZE(expected));
-	if (tevent_req_nterror(req, status)) {
+	if (tevent_req_nterror(req, status) || iov == NULL) {
 		return;
 	}
 
diff --git a/source3/lib/addrchange.c b/source3/lib/addrchange.c
index 719b8702789..9a64e8d3a14 100644
--- a/source3/lib/addrchange.c
+++ b/source3/lib/addrchange.c
@@ -214,7 +214,6 @@ static void addrchange_done(struct tevent_req *subreq)
 
 	state->addr.ss_family = ifa->ifa_family;
 
-	rta = IFA_RTA(ifa);
 	len = h->nlmsg_len - sizeof(struct nlmsghdr) + sizeof(struct ifaddrmsg);
 
 	found = false;
diff --git a/source3/lib/dbwrap/dbwrap_watch.c b/source3/lib/dbwrap/dbwrap_watch.c
index 9bf3d372621..6bbd68df859 100644
--- a/source3/lib/dbwrap/dbwrap_watch.c
+++ b/source3/lib/dbwrap/dbwrap_watch.c
@@ -51,7 +51,7 @@ static ssize_t dbwrap_record_watchers_key(struct db_context *db,
 		return -1;
 	}
 
-	if (wkey_len >= needed) {
+	if (wkey != NULL && wkey_len >= needed) {
 		SIVAL(wkey, 0, db_id_len);
 		memcpy(wkey + sizeof(uint32_t), db_id, db_id_len);
 		memcpy(wkey + sizeof(uint32_t) + db_id_len,
diff --git a/source3/lib/g_lock.c b/source3/lib/g_lock.c
index d97786b02a3..ef6bbb52613 100644
--- a/source3/lib/g_lock.c
+++ b/source3/lib/g_lock.c
@@ -347,7 +347,7 @@ struct g_lock_lock_fn_state {
 static void g_lock_lock_fn(struct db_record *rec, void *private_data)
 {
 	struct g_lock_lock_fn_state *state = private_data;
-	struct server_id blocker;
+	struct server_id blocker = {0};
 
 	state->status = g_lock_trylock(rec, state->self, state->state->type,
 				       &blocker);
diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index 699282cff88..a6bf99578b6 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -480,7 +480,7 @@ static NTSTATUS messaging_init_internal(TALLOC_CTX *mem_ctx,
 {
 	TALLOC_CTX *frame;
 	struct messaging_context *ctx;
-	NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
+	NTSTATUS status;
 	int ret;
 	const char *lck_path;
 	const char *priv_path;
diff --git a/source3/lib/smbconf/smbconf_reg.c b/source3/lib/smbconf/smbconf_reg.c
index d4a8b8c2989..c923f3b6820 100644
--- a/source3/lib/smbconf/smbconf_reg.c
+++ b/source3/lib/smbconf/smbconf_reg.c
@@ -120,7 +120,7 @@ static sbcErr smbconf_reg_open_service_key(TALLOC_CTX *mem_ctx,
 static bool smbconf_value_exists(struct registry_key *key, const char *param)
 {
 	bool ret = false;
-	WERROR werr = WERR_OK;
+	WERROR werr;
 	TALLOC_CTX *ctx = talloc_stackframe();
 	struct registry_value *value = NULL;
 
@@ -175,7 +175,7 @@ static sbcErr smbconf_reg_set_value(struct registry_key *key,
 				    const char *valstr)
 {
 	struct registry_value val;
-	WERROR werr = WERR_OK;
+	WERROR werr;
 	sbcErr err;
 	char *subkeyname;
 	const char *canon_valname;
@@ -441,7 +441,7 @@ static sbcErr smbconf_reg_get_values(TALLOC_CTX *mem_ctx,
 				     char ***value_strings)
 {
 	TALLOC_CTX *tmp_ctx = NULL;
-	WERROR werr = WERR_OK;
+	WERROR werr;
 	sbcErr err;
 	uint32_t count;
 	struct registry_value *valvalue = NULL;
@@ -580,7 +580,7 @@ done:
  */
 static sbcErr smbconf_reg_init(struct smbconf_ctx *ctx, const char *path)
 {
-	WERROR werr = WERR_OK;
+	WERROR werr;
 	sbcErr err;
 	struct security_token *token;
 
@@ -709,7 +709,7 @@ static void smbconf_reg_get_csn(struct smbconf_ctx *ctx,
 static sbcErr smbconf_reg_drop(struct smbconf_ctx *ctx)
 {
 	char *path, *p;
-	WERROR werr = WERR_OK;
+	WERROR werr;
 	sbcErr err = SBC_ERR_OK;
 	struct registry_key *parent_key = NULL;
 	struct registry_key *new_key = NULL;
@@ -992,7 +992,7 @@ static sbcErr smbconf_reg_get_parameter(struct smbconf_ctx *ctx,
 					const char *param,
 					char **valstr)
 {
-	WERROR werr = WERR_OK;
+	WERROR werr;
 	sbcErr err;
 	struct registry_key *key = NULL;
 	struct registry_value *value = NULL;
@@ -1100,7 +1100,6 @@ static sbcErr smbconf_reg_set_includes(struct smbconf_ctx *ctx,
 				       uint32_t num_includes,
 				       const char **includes)
 {
-	WERROR werr = WERR_OK;
 	sbcErr err;
 	struct registry_key *key = NULL;
 	TALLOC_CTX *tmp_ctx = talloc_stackframe();
@@ -1112,6 +1111,7 @@ static sbcErr smbconf_reg_set_includes(struct smbconf_ctx *ctx,
 	}
 
 	if (num_includes == 0) {
+		WERROR werr;
 		if (!smbconf_value_exists(key, INCLUDES_VALNAME)) {
 			err = SBC_ERR_OK;
 			goto done;
diff --git a/source3/lib/substitute.c b/source3/lib/substitute.c
index ea227c5ab68..f8ca6f41cc1 100644
--- a/source3/lib/substitute.c
+++ b/source3/lib/substitute.c
@@ -513,7 +513,7 @@ char *talloc_sub_basic(TALLOC_CTX *mem_ctx,
 
 	tmp_ctx = talloc_stackframe();
 
-	for (b = s = a_string; (p = strchr_m(s, '%')); s = a_string + (p - b)) {
+	for (s = a_string; (p = strchr_m(s, '%')); s = a_string + (p - b)) {
 
 		r = NULL;
 		b = a_string;
@@ -706,7 +706,7 @@ char *talloc_sub_specified(TALLOC_CTX *mem_ctx,
 		goto done;
 	}
 
-	for (b = s = a_string; (p = strchr_m(s, '%')); s = a_string + (p - b)) {
+	for (s = a_string; (p = strchr_m(s, '%')); s = a_string + (p - b)) {
 
 		b = a_string;
 
@@ -808,7 +808,7 @@ char *talloc_sub_advanced(TALLOC_CTX *ctx,
 		return NULL;
 	}
 
-	for (b = s = a_string; (p = strchr_m(s, '%')); s = a_string + (p - b)) {
+	for (s = a_string; (p = strchr_m(s, '%')); s = a_string + (p - b)) {
 
 		b = a_string;
 
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index a8d5fdc5954..9e97d719f4e 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -2766,7 +2766,6 @@ bool lp_do_section(const char *pszSectionName, void *userdata)
 	bool bRetval;
 	bool isglobal = ((strwicmp(pszSectionName, GLOBAL_NAME) == 0) ||
 			 (strwicmp(pszSectionName, GLOBAL_NAME2) == 0));
-	bRetval = false;
 
 	/* if we were in a global section then do the local inits */
 	if (bInGlobalSection && !isglobal)
@@ -3864,8 +3863,6 @@ static bool lp_load_ex(const char *pszFname,
 	TALLOC_CTX *frame = talloc_stackframe();
 	struct loadparm_context *lp_ctx;
 
-	bRetval = false;
-
 	DEBUG(3, ("lp_load_ex: refreshing parameters\n"));
 
 	bInGlobalSection = true;
diff --git a/source3/registry/reg_api.c b/source3/registry/reg_api.c
index 2190d2a0919..62cb0e5f846 100644
--- a/source3/registry/reg_api.c
+++ b/source3/registry/reg_api.c
@@ -136,7 +136,7 @@ static WERROR regkey_open_onelevel(TALLOC_CTX *mem_ctx,
 				   uint32_t access_desired,
 				   struct registry_key **pregkey)
 {
-	WERROR     	result = WERR_OK;
+	WERROR result;
 	struct registry_key *regkey;
 	struct registry_key_handle *key;
 
@@ -955,7 +955,7 @@ static WERROR reg_deletekey_recursive_internal(struct registry_key *parent,
 					       const char *path,
 					       bool del_key, bool lazy)
 {
-	WERROR werr = WERR_OK;
+	WERROR werr;
 	struct registry_key *key;
 	char *subkey_name = NULL;
 	uint32_t i;
diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c
index 7749b812c24..c870dc57ed6 100644
--- a/source3/registry/reg_backend_db.c
+++ b/source3/registry/reg_backend_db.c
@@ -850,20 +850,22 @@ WERROR regdb_init(void)
 
 WERROR regdb_open( void )
 {
-	WERROR result = WERR_OK;
-	char *db_path;
+	WERROR result;
+	char *db_path = NULL;
 	int saved_errno;
 
 	if ( regdb ) {
 		DEBUG(10, ("regdb_open: incrementing refcount (%d->%d)\n",
 			   regdb_refcount, regdb_refcount+1));
 		regdb_refcount++;
-		return WERR_OK;
+		result = WERR_OK;
+		goto done;
 	}
 
 	db_path = state_path(talloc_tos(), "registry.tdb");
 	if (db_path == NULL) {
-		return WERR_NOT_ENOUGH_MEMORY;
+		result = WERR_NOT_ENOUGH_MEMORY;
+		goto done;
 	}
 
 	become_root();
@@ -877,16 +879,17 @@ WERROR regdb_open( void )
 		result = ntstatus_to_werror(map_nt_error_from_unix(saved_errno));
 		DEBUG(0,("regdb_open: Failed to open %s! (%s)\n",
 			 db_path, strerror(saved_errno)));
-		TALLOC_FREE(db_path);
-		return result;
+		goto done;
 	}
-	TALLOC_FREE(db_path);
 
 	regdb_refcount = 1;
 	DEBUG(10, ("regdb_open: registry db opened. refcount reset (%d)\n",
 		   regdb_refcount));
 
-	return WERR_OK;
+	result = WERR_OK;
+done:
+	TALLOC_FREE(db_path);
+	return result;
 }
 
 /***********************************************************************
@@ -1674,8 +1677,6 @@ static bool regdb_key_exists(struct db_context *db, const char *key)
 	buflen = value.dsize - len;
 	buf = (const char *)value.dptr + len;
 
-	len = 0;
-
 	for (i = 0; i < num_items; i++) {
 		if (buflen == 0) {
 			break;
diff --git a/source4/libcli/ldap/ldap_client.c b/source4/libcli/ldap/ldap_client.c
index da84adc7769..a5defbcb4e3 100644
--- a/source4/libcli/ldap/ldap_client.c
+++ b/source4/libcli/ldap/ldap_client.c
@@ -1020,7 +1020,7 @@ _PUBLIC_ NTSTATUS ldap_result_one(struct ldap_request *req, struct ldap_message
 	if (!NT_STATUS_IS_OK(status)) {
 		return status;
 	}
-	if ((*msg)->type != type) {
+	if ((*msg) != NULL && (*msg)->type != type) {
 		*msg = NULL;
 		return NT_STATUS_UNEXPECTED_NETWORK_ERROR;
 	}
diff --git a/source4/libcli/raw/clitree.c b/source4/libcli/raw/clitree.c
index b1b6159e750..e6b7c8a7a0c 100644
--- a/source4/libcli/raw/clitree.c
+++ b/source4/libcli/raw/clitree.c
@@ -135,7 +135,7 @@ NTSTATUS smb_raw_tcon_recv(struct smbcli_request *req, TALLOC_CTX *mem_ctx,
 
 		p += smbcli_req_pull_string(&req->in.bufinfo, mem_ctx, &parms->tconx.out.dev_type, 
 					    p, -1, STR_ASCII | STR_TERMINATE);
-		p += smbcli_req_pull_string(&req->in.bufinfo, mem_ctx, &parms->tconx.out.fs_type, 
+		smbcli_req_pull_string(&req->in.bufinfo, mem_ctx, &parms->tconx.out.fs_type,
 					 p, -1, STR_TERMINATE);
 		break;
 
diff --git a/source4/libcli/raw/rawnegotiate.c b/source4/libcli/raw/rawnegotiate.c
index cec081c364a..51c6f0f9ecb 100644
--- a/source4/libcli/raw/rawnegotiate.c
+++ b/source4/libcli/raw/rawnegotiate.c
@@ -154,7 +154,7 @@ NTSTATUS smb_raw_negotiate_recv(struct tevent_req *req)
 NTSTATUS smb_raw_negotiate(struct smbcli_transport *transport, bool unicode,
 			   int minprotocol, int maxprotocol)
 {
-	NTSTATUS status = NT_STATUS_INTERNAL_ERROR;
+	NTSTATUS status;
 	struct tevent_req *subreq = NULL;
 	bool ok;
 
@@ -164,7 +164,8 @@ NTSTATUS smb_raw_negotiate(struct smbcli_transport *transport, bool unicode,
 					minprotocol,
 					maxprotocol);
 	if (subreq == NULL) {
-		return NT_STATUS_NO_MEMORY;
+		status = NT_STATUS_NO_MEMORY;
+		goto failed;
 	}
 
 	ok = tevent_req_poll(subreq, transport->ev);
diff --git a/source4/libcli/smb_composite/fetchfile.c b/source4/libcli/smb_composite/fetchfile.c
index dc6f71b452e..30e3a626ce6 100644
--- a/source4/libcli/smb_composite/fetchfile.c
+++ b/source4/libcli/smb_composite/fetchfile.c
@@ -88,7 +88,7 @@ static NTSTATUS fetchfile_read(struct composite_context *c,
 static void fetchfile_state_handler(struct composite_context *c)
 {
 	struct fetchfile_state *state;
-	NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
+	NTSTATUS status;
 	
 	state = talloc_get_type(c->private_data, struct fetchfile_state);
 
@@ -101,6 +101,9 @@ static void fetchfile_state_handler(struct composite_context *c)
 	case FETCHFILE_READ:
 		status = fetchfile_read(c, state->io);
 		break;
+	default:
+		status = NT_STATUS_UNSUCCESSFUL;
+		break;
 	}
 
 	if (!NT_STATUS_IS_OK(status)) {


-- 
Samba Shared Repository



More information about the samba-cvs mailing list