From 11ce2cfd70df264c5c91b4daaa9a01c5abc673b0 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 7 Jan 2005 04:39:16 +0000 Subject: r4591: - converted the other _p talloc functions to not need _p - added #if TALLOC_DEPRECATED around the _p functions - fixes the code that broke from the above while doing this I fixed quite a number of places that were incorrectly using the non type-safe talloc functions to use the type safe ones. Some were even doing multiplies for array allocation, which is potentially unsafe. (This used to be commit 6e7754abd0c225527fb38363996a6e241b87b37e) --- source4/libcli/auth/spnego_parse.c | 6 +++--- source4/libcli/clilist.c | 11 ++++++----- source4/libcli/ldap/ldap_ldif.c | 2 +- source4/libcli/raw/rawnotify.c | 2 +- source4/libcli/raw/rawrequest.c | 4 ++-- source4/libcli/raw/rawtrans.c | 4 ++-- source4/libcli/util/asn1.c | 2 +- 7 files changed, 16 insertions(+), 15 deletions(-) (limited to 'source4/libcli') diff --git a/source4/libcli/auth/spnego_parse.c b/source4/libcli/auth/spnego_parse.c index 32e98a4235..78a94a6a44 100644 --- a/source4/libcli/auth/spnego_parse.c +++ b/source4/libcli/auth/spnego_parse.c @@ -52,9 +52,9 @@ static BOOL read_negTokenInit(struct asn1_data *asn1, struct spnego_negTokenInit token->mechTypes = talloc_p(NULL, const char *); for (i = 0; !asn1->has_error && 0 < asn1_tag_remaining(asn1); i++) { - token->mechTypes = - talloc_realloc(NULL, token->mechTypes, (i + 2) * - sizeof(*token->mechTypes)); + token->mechTypes = talloc_realloc(NULL, + token->mechTypes, + const char *, i+2); asn1_read_OID(asn1, token->mechTypes + i); if (token->mechTypes[i]) { talloc_steal(token->mechTypes, diff --git a/source4/libcli/clilist.c b/source4/libcli/clilist.c index ec103dbfa4..77fd760837 100644 --- a/source4/libcli/clilist.c +++ b/source4/libcli/clilist.c @@ -81,13 +81,13 @@ static BOOL smbcli_list_new_callback(void *private, union smb_search_data *file) /* add file info to the dirlist pool */ tdl = talloc_realloc(state, state->dirlist, - state->dirlist_len + sizeof(struct clilist_file_info)); - + struct clilist_file_info, + state->dirlist_len + 1); if (!tdl) { return False; } state->dirlist = tdl; - state->dirlist_len += sizeof(struct clilist_file_info); + state->dirlist_len++; interpret_long_filename(state->info_level, file, &state->dirlist[state->total_received]); @@ -227,13 +227,14 @@ static BOOL smbcli_list_old_callback(void *private, union smb_search_data *file) /* add file info to the dirlist pool */ tdl = talloc_realloc(state, state->dirlist, - state->dirlist_len + sizeof(struct clilist_file_info)); + struct clilist_file_info, + state->dirlist_len + 1); if (!tdl) { return False; } state->dirlist = tdl; - state->dirlist_len += sizeof(struct clilist_file_info); + state->dirlist_len++; interpret_short_filename(state->info_level, file, &state->dirlist[state->total_received]); diff --git a/source4/libcli/ldap/ldap_ldif.c b/source4/libcli/ldap/ldap_ldif.c index c276b7e917..809c75cf96 100644 --- a/source4/libcli/ldap/ldap_ldif.c +++ b/source4/libcli/ldap/ldap_ldif.c @@ -52,7 +52,7 @@ static char *next_chunk(TALLOC_CTX *mem_ctx, if (chunk_size+1 >= alloc_size) { char *c2; alloc_size += 1024; - c2 = talloc_realloc(mem_ctx, chunk, alloc_size); + c2 = talloc_realloc(mem_ctx, chunk, char, alloc_size); if (!c2) { errno = ENOMEM; return NULL; diff --git a/source4/libcli/raw/rawnotify.c b/source4/libcli/raw/rawnotify.c index 918fb788cb..e48545419f 100644 --- a/source4/libcli/raw/rawnotify.c +++ b/source4/libcli/raw/rawnotify.c @@ -73,7 +73,7 @@ NTSTATUS smb_raw_changenotify_recv(struct smbcli_request *req, } /* allocate array */ - parms->out.changes = talloc_array_p(mem_ctx, struct notify_changes, parms->out.num_changes); + parms->out.changes = talloc_array(mem_ctx, struct notify_changes, parms->out.num_changes); if (!parms->out.changes) { return NT_STATUS_NO_MEMORY; } diff --git a/source4/libcli/raw/rawrequest.c b/source4/libcli/raw/rawrequest.c index b74f066ef4..8093b298bb 100644 --- a/source4/libcli/raw/rawrequest.c +++ b/source4/libcli/raw/rawrequest.c @@ -203,7 +203,7 @@ static void smbcli_req_grow_allocation(struct smbcli_request *req, uint_t new_si /* we need to realloc */ req->out.allocated = req->out.size + delta + REQ_OVER_ALLOCATION; - buf2 = talloc_realloc(req, req->out.buffer, req->out.allocated); + buf2 = talloc_realloc(req, req->out.buffer, uint8_t, req->out.allocated); if (buf2 == NULL) { smb_panic("out of memory in req_grow_allocation"); } @@ -950,7 +950,7 @@ size_t smbcli_blob_append_string(struct smbcli_session *session, max_len = (strlen(str)+2) * MAX_BYTES_PER_CHAR; - blob->data = talloc_realloc(mem_ctx, blob->data, blob->length + max_len); + blob->data = talloc_realloc(mem_ctx, blob->data, uint8_t, blob->length + max_len); if (!blob->data) { return 0; } diff --git a/source4/libcli/raw/rawtrans.c b/source4/libcli/raw/rawtrans.c index 0ccecdc2d4..118ac5e3fd 100644 --- a/source4/libcli/raw/rawtrans.c +++ b/source4/libcli/raw/rawtrans.c @@ -111,7 +111,7 @@ NTSTATUS smb_raw_trans2_recv(struct smbcli_request *req, if (parms->out.setup_count > 0) { int i; - parms->out.setup = talloc_array(mem_ctx, 2, parms->out.setup_count, "setup"); + parms->out.setup = talloc_array(mem_ctx, uint16_t, parms->out.setup_count); if (!parms->out.setup) { req->status = NT_STATUS_NO_MEMORY; return smbcli_request_destroy(req); @@ -439,7 +439,7 @@ NTSTATUS smb_raw_nttrans_recv(struct smbcli_request *req, if (parms->out.setup_count > 0) { int i; - parms->out.setup = talloc_array(mem_ctx, 2, parms->out.setup_count, "setup"); + parms->out.setup = talloc_array(mem_ctx, uint16_t, parms->out.setup_count); if (!parms->out.setup) { req->status = NT_STATUS_NO_MEMORY; return smbcli_request_destroy(req); diff --git a/source4/libcli/util/asn1.c b/source4/libcli/util/asn1.c index 52ba0225c9..de14eb0e57 100644 --- a/source4/libcli/util/asn1.c +++ b/source4/libcli/util/asn1.c @@ -33,7 +33,7 @@ BOOL asn1_write(struct asn1_data *data, const void *p, int len) if (data->has_error) return False; if (data->length < data->ofs+len) { uint8_t *newp; - newp = talloc_realloc(NULL, data->data, data->ofs+len); + newp = talloc_realloc(NULL, data->data, uint8_t, data->ofs+len); if (!newp) { asn1_free(data); data->has_error = True; -- cgit