summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
Diffstat (limited to 'source4')
-rw-r--r--source4/lib/iconv.c10
-rw-r--r--source4/libcli/auth/clikrb5.c2
-rw-r--r--source4/libcli/auth/ntlmssp_parse.c4
-rw-r--r--source4/libcli/auth/spnego.c2
-rw-r--r--source4/libcli/auth/spnego.h2
-rw-r--r--source4/libcli/raw/rawrequest.c2
-rw-r--r--source4/libcli/raw/rawsearch.c5
-rw-r--r--source4/libcli/util/asn1.c4
-rw-r--r--source4/librpc/idl/epmapper.idl4
-rw-r--r--source4/librpc/ndr/ndr.c2
-rw-r--r--source4/librpc/rpc/dcerpc_smb.c2
11 files changed, 22 insertions, 17 deletions
diff --git a/source4/lib/iconv.c b/source4/lib/iconv.c
index f4f7660bcd..3cca734d7b 100644
--- a/source4/lib/iconv.c
+++ b/source4/lib/iconv.c
@@ -131,7 +131,6 @@ size_t smb_iconv(smb_iconv_t cd,
char **outbuf, size_t *outbytesleft)
{
char cvtbuf[2048];
- char *bufp = cvtbuf;
size_t bufsize;
/* in many cases we can go direct */
@@ -143,18 +142,19 @@ size_t smb_iconv(smb_iconv_t cd,
/* otherwise we have to do it chunks at a time */
while (*inbytesleft > 0) {
- bufp = cvtbuf;
+ char *bufp1 = cvtbuf;
+ const char *bufp2 = cvtbuf;
+
bufsize = sizeof(cvtbuf);
if (cd->pull(cd->cd_pull,
- inbuf, inbytesleft, &bufp, &bufsize) == -1
+ inbuf, inbytesleft, &bufp1, &bufsize) == -1
&& errno != E2BIG) return -1;
- bufp = cvtbuf;
bufsize = sizeof(cvtbuf) - bufsize;
if (cd->push(cd->cd_push,
- &bufp, &bufsize,
+ &bufp2, &bufsize,
outbuf, outbytesleft) == -1) return -1;
}
diff --git a/source4/libcli/auth/clikrb5.c b/source4/libcli/auth/clikrb5.c
index 78492d2352..c3ea33aaec 100644
--- a/source4/libcli/auth/clikrb5.c
+++ b/source4/libcli/auth/clikrb5.c
@@ -386,7 +386,7 @@ cleanup_princ:
{
static krb5_data kdata;
- kdata.data = krb5_principal_get_comp_string(context, principal, i);
+ kdata.data = discard_const(krb5_principal_get_comp_string(context, principal, i));
kdata.length = strlen(kdata.data);
return &kdata;
}
diff --git a/source4/libcli/auth/ntlmssp_parse.c b/source4/libcli/auth/ntlmssp_parse.c
index 22ed783666..c36bb6a4fc 100644
--- a/source4/libcli/auth/ntlmssp_parse.c
+++ b/source4/libcli/auth/ntlmssp_parse.c
@@ -64,7 +64,7 @@ BOOL msrpc_gen(TALLOC_CTX *mem_ctx, DATA_BLOB *blob,
case 'U':
s = va_arg(ap, char *);
head_size += 8;
- n = push_ucs2_talloc(pointers, &pointers[i].data, s);
+ n = push_ucs2_talloc(pointers, (void **)&pointers[i].data, s);
if (n == -1) {
return False;
}
@@ -87,7 +87,7 @@ BOOL msrpc_gen(TALLOC_CTX *mem_ctx, DATA_BLOB *blob,
n = va_arg(ap, int);
intargs[i] = n;
s = va_arg(ap, char *);
- n = push_ucs2_talloc(pointers, &pointers[i].data, s);
+ n = push_ucs2_talloc(pointers, (void **)&pointers[i].data, s);
if (n == -1) {
return False;
}
diff --git a/source4/libcli/auth/spnego.c b/source4/libcli/auth/spnego.c
index 85d77992fa..2779f47474 100644
--- a/source4/libcli/auth/spnego.c
+++ b/source4/libcli/auth/spnego.c
@@ -483,7 +483,7 @@ static NTSTATUS gensec_spnego_update(struct gensec_security *gensec_security, TA
{
/* The server offers a list of mechanisms */
- char *my_mechs[] = {NULL, NULL};
+ const char *my_mechs[] = {NULL, NULL};
NTSTATUS nt_status = NT_STATUS_INVALID_PARAMETER;
if (!in.length) {
diff --git a/source4/libcli/auth/spnego.h b/source4/libcli/auth/spnego.h
index 926cb7f88d..3b9d148c67 100644
--- a/source4/libcli/auth/spnego.h
+++ b/source4/libcli/auth/spnego.h
@@ -41,7 +41,7 @@ enum spnego_negResult {
};
struct spnego_negTokenInit {
- char **mechTypes;
+ const char **mechTypes;
int reqFlags;
DATA_BLOB mechToken;
DATA_BLOB mechListMIC;
diff --git a/source4/libcli/raw/rawrequest.c b/source4/libcli/raw/rawrequest.c
index 89155451da..dd21eb89ea 100644
--- a/source4/libcli/raw/rawrequest.c
+++ b/source4/libcli/raw/rawrequest.c
@@ -548,7 +548,7 @@ static size_t smbcli_req_pull_ucs2(struct smbcli_request *req, TALLOC_CTX *mem_c
of bytes consumed in the packet is returned
*/
size_t smbcli_req_pull_ascii(struct smbcli_request *req, TALLOC_CTX *mem_ctx,
- char **dest, const char *src, int byte_len, uint_t flags)
+ char **dest, const char *src, int byte_len, uint_t flags)
{
int src_len, src_len2;
ssize_t ret;
diff --git a/source4/libcli/raw/rawsearch.c b/source4/libcli/raw/rawsearch.c
index df44dbffa4..dd8904dfd1 100644
--- a/source4/libcli/raw/rawsearch.c
+++ b/source4/libcli/raw/rawsearch.c
@@ -42,6 +42,8 @@ static void smb_raw_search_backend(struct smbcli_request *req,
p = req->in.data + 3;
for (i=0; i < count; i++) {
+ char *name;
+
search_data.search.id.reserved = CVAL(p, 0);
memcpy(search_data.search.id.name, p+1, 11);
search_data.search.id.handle = CVAL(p, 12);
@@ -51,7 +53,8 @@ static void smb_raw_search_backend(struct smbcli_request *req,
search_data.search.write_time = raw_pull_dos_date(req->transport,
p + 22);
search_data.search.size = IVAL(p, 26);
- smbcli_req_pull_ascii(req, mem_ctx, &search_data.search.name, p+30, 13, STR_ASCII);
+ smbcli_req_pull_ascii(req, mem_ctx, &name, p+30, 13, STR_ASCII);
+ search_data.search.name = name;
if (!callback(private, &search_data)) {
break;
}
diff --git a/source4/libcli/util/asn1.c b/source4/libcli/util/asn1.c
index 15d9243acd..e03b1d5f39 100644
--- a/source4/libcli/util/asn1.c
+++ b/source4/libcli/util/asn1.c
@@ -494,7 +494,7 @@ int asn1_tag_remaining(ASN1_DATA *data)
}
/* read an object ID from a ASN1 buffer */
-BOOL asn1_read_OID(ASN1_DATA *data, char **OID)
+BOOL asn1_read_OID(ASN1_DATA *data, const char **OID)
{
uint8_t b;
char *tmp_oid = NULL;
@@ -525,7 +525,7 @@ BOOL asn1_read_OID(ASN1_DATA *data, char **OID)
/* check that the next object ID is correct */
BOOL asn1_check_OID(ASN1_DATA *data, const char *OID)
{
- char *id;
+ const char *id;
if (!asn1_read_OID(data, &id)) return False;
diff --git a/source4/librpc/idl/epmapper.idl b/source4/librpc/idl/epmapper.idl
index 6a60c7c47b..ce1776f34e 100644
--- a/source4/librpc/idl/epmapper.idl
+++ b/source4/librpc/idl/epmapper.idl
@@ -222,12 +222,12 @@ interface epmapper
non-aligned. I wonder what sort of wicked substance these
guys were smoking?
*/
- typedef [flag(NDR_NOALIGN|NDR_LITTLE_ENDIAN)] struct {
+ typedef [gensize,flag(NDR_NOALIGN|NDR_LITTLE_ENDIAN)] struct {
uint16 num_floors;
epm_floor floors[num_floors];
} epm_tower;
- typedef [gensize] struct {
+ typedef struct {
[value(ndr_size_epm_tower(0, &r->tower,ndr->flags))] uint32 tower_length;
[subcontext(4)] epm_tower tower;
} epm_twr_t;
diff --git a/source4/librpc/ndr/ndr.c b/source4/librpc/ndr/ndr.c
index 02eb3e95ba..3462fb20c9 100644
--- a/source4/librpc/ndr/ndr.c
+++ b/source4/librpc/ndr/ndr.c
@@ -390,6 +390,8 @@ static NTSTATUS ndr_map_error(enum ndr_err_code err)
return NT_STATUS_BUFFER_TOO_SMALL;
case NDR_ERR_ALLOC:
return NT_STATUS_NO_MEMORY;
+ default:
+ break;
}
/* we should all error codes to different status codes */
diff --git a/source4/librpc/rpc/dcerpc_smb.c b/source4/librpc/rpc/dcerpc_smb.c
index cfb02680e2..a6307a9413 100644
--- a/source4/librpc/rpc/dcerpc_smb.c
+++ b/source4/librpc/rpc/dcerpc_smb.c
@@ -394,7 +394,7 @@ NTSTATUS dcerpc_pipe_open_smb(struct dcerpc_pipe **p,
io.ntcreatex.in.security_flags = 0;
io.ntcreatex.in.fname = pipe_name;
- status = smb_raw_open(tree, pipe_name, &io);
+ status = smb_raw_open(tree, tree, &io);
if (!NT_STATUS_IS_OK(status)) {
return status;