diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-09-09 19:34:30 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 15:05:49 -0500 |
commit | 7e297ecfa4db2c7ab720a63c7764bc0e20f8058c (patch) | |
tree | 6fdb0b5a3a713c5aab9669ef021456b2063919e6 /source4/lib | |
parent | 43742e53c900733cf0eff085cb073d0c1c937530 (diff) | |
download | samba-7e297ecfa4db2c7ab720a63c7764bc0e20f8058c.tar.gz samba-7e297ecfa4db2c7ab720a63c7764bc0e20f8058c.tar.bz2 samba-7e297ecfa4db2c7ab720a63c7764bc0e20f8058c.zip |
r25047: Fix more warnings.
(This used to be commit 69de86d2d2e49439760fbc61901eb87fb7fc5d55)
Diffstat (limited to 'source4/lib')
-rw-r--r-- | source4/lib/messaging/messaging.c | 8 | ||||
-rw-r--r-- | source4/lib/registry/local.c | 3 | ||||
-rw-r--r-- | source4/lib/registry/patchfile_preg.c | 3 | ||||
-rw-r--r-- | source4/lib/registry/regf.c | 2 | ||||
-rw-r--r-- | source4/lib/util/ms_fnmatch.c | 5 | ||||
-rw-r--r-- | source4/lib/util/util.h | 13 | ||||
-rw-r--r-- | source4/lib/util/util_pw.c | 45 | ||||
-rw-r--r-- | source4/lib/util/util_str.c | 20 |
8 files changed, 30 insertions, 69 deletions
diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c index 2ad5e3bed0..e398b16d72 100644 --- a/source4/lib/messaging/messaging.c +++ b/source4/lib/messaging/messaging.c @@ -137,7 +137,8 @@ static void messaging_dispatch(struct messaging_context *msg, struct messaging_r /* temporary IDs use an idtree, the rest use a array of pointers */ if (rec->header->msg_type >= MSG_TMP_BASE) { - d = idr_find(msg->dispatch_tree, rec->header->msg_type); + d = (struct dispatch_fn *)idr_find(msg->dispatch_tree, + rec->header->msg_type); } else if (rec->header->msg_type < msg->num_types) { d = msg->dispatch[rec->header->msg_type]; } else { @@ -417,7 +418,8 @@ void messaging_deregister(struct messaging_context *msg, uint32_t msg_type, void struct dispatch_fn *d, *next; if (msg_type >= msg->num_types) { - d = idr_find(msg->dispatch_tree, msg_type); + d = (struct dispatch_fn *)idr_find(msg->dispatch_tree, + msg_type); if (!d) return; idr_remove(msg->dispatch_tree, msg_type); talloc_free(d); @@ -666,7 +668,7 @@ static void irpc_handler_reply(struct messaging_context *msg_ctx, struct irpc_me { struct irpc_request *irpc; - irpc = idr_find(msg_ctx->idr, m->header.callid); + irpc = (struct irpc_request *)idr_find(msg_ctx->idr, m->header.callid); if (irpc == NULL) return; /* parse the reply data */ diff --git a/source4/lib/registry/local.c b/source4/lib/registry/local.c index 035d556abf..1a45c0a70a 100644 --- a/source4/lib/registry/local.c +++ b/source4/lib/registry/local.c @@ -126,7 +126,8 @@ static WERROR local_open_key(TALLOC_CTX *mem_ctx, WERROR local_get_predefined_key (const struct registry_context *ctx, uint32_t key_id, struct registry_key **key) { - struct registry_local *rctx = talloc_get_type(ctx, struct registry_local); + struct registry_local *rctx = talloc_get_type(ctx, + struct registry_local); struct mountpoint *mp; for (mp = rctx->mountpoints; mp != NULL; mp = mp->next) { diff --git a/source4/lib/registry/patchfile_preg.c b/source4/lib/registry/patchfile_preg.c index ccabf4ca07..20bd2fad0d 100644 --- a/source4/lib/registry/patchfile_preg.c +++ b/source4/lib/registry/patchfile_preg.c @@ -211,8 +211,7 @@ _PUBLIC_ WERROR reg_preg_diff_load(int fd, const struct reg_diff_callbacks *call close(fd); return WERR_GENERAL_FAILURE; } - data.length = length; - data.data = talloc_memdup(mem_ctx, buf, length); + data = data_blob_talloc(mem_ctx, buf, length); /* Check if delimiter is in place (whine if it isn't) */ buf_ptr = buf; diff --git a/source4/lib/registry/regf.c b/source4/lib/registry/regf.c index 0c40773daa..17914a8f7c 100644 --- a/source4/lib/registry/regf.c +++ b/source4/lib/registry/regf.c @@ -1664,7 +1664,7 @@ static WERROR regf_set_value(struct hive_key *key, const char *name, DATA_BLOB value_list; value_list.length = (nk->num_values+1)*4; - value_list.data = talloc_array(private_data, uint32_t, nk->num_values+1); + value_list.data = (uint8_t *)talloc_array(private_data, uint32_t, nk->num_values+1); W_ERROR_HAVE_NO_MEMORY(value_list.data); memcpy(value_list.data, values.data, nk->num_values * 4); diff --git a/source4/lib/util/ms_fnmatch.c b/source4/lib/util/ms_fnmatch.c index 8e216b0226..73fb0e0966 100644 --- a/source4/lib/util/ms_fnmatch.c +++ b/source4/lib/util/ms_fnmatch.c @@ -201,11 +201,10 @@ int ms_fnmatch(const char *pattern, const char *string, enum protocol_types prot if (pattern[i] == '*' || pattern[i] == '<') count++; } - max_n = talloc_array(NULL, struct max_n, count); - if (!max_n) { + max_n = talloc_zero_array(NULL, struct max_n, count); + if (max_n == NULL) { return -1; } - memset(max_n, 0, sizeof(struct max_n) * count); ret = ms_fnmatch_core(pattern, string, max_n, strrchr(string, '.')); diff --git a/source4/lib/util/util.h b/source4/lib/util/util.h index a2e0954517..004c453a64 100644 --- a/source4/lib/util/util.h +++ b/source4/lib/util/util.h @@ -28,7 +28,6 @@ * @brief Helpful macros */ -struct substitute_context; struct smbsrv_tcon; extern const char *logfile; @@ -73,7 +72,7 @@ extern const char *panic_action; */ #define SMB_ASSERT(b) do { if (!(b)) { \ DEBUG(0,("PANIC: assert failed at %s(%d)\n", __FILE__, __LINE__)); \ - smb_panic("assert failed"); abort(); }} while (0) + smb_panic("assert failed"); }} while (0) #ifndef SAFE_FREE /* Oh no this is also defined in tdb.h */ /** @@ -371,12 +370,6 @@ _PUBLIC_ void hex_encode(const unsigned char *buff_in, size_t len, char **out_he _PUBLIC_ char *hex_encode_talloc(TALLOC_CTX *mem_ctx, const unsigned char *buff_in, size_t len); /** - Set a string value, deallocating any existing space, and allocing the space - for the string -**/ -_PUBLIC_ bool string_set(TALLOC_CTX *mem_ctx, char **dest, const char *src); - -/** Substitute a string for a pattern in another string. Make sure there is enough room! @@ -780,8 +773,6 @@ enum protocol_types { PROTOCOL_SMB2 }; - - int ms_fnmatch(const char *pattern, const char *string, enum protocol_types protocol); /** a generic fnmatch function - uses for non-CIFS pattern matching */ @@ -838,6 +829,6 @@ _PUBLIC_ int idr_remove(struct idr_context *idp, int id); /** Become a daemon, discarding the controlling terminal. **/ -_PUBLIC_ void become_daemon(bool Fork); +_PUBLIC_ void become_daemon(bool fork); #endif /* _SAMBA_UTIL_H_ */ diff --git a/source4/lib/util/util_pw.c b/source4/lib/util/util_pw.c index 0e0675571e..11e46ec4e3 100644 --- a/source4/lib/util/util_pw.c +++ b/source4/lib/util/util_pw.c @@ -21,37 +21,26 @@ #include "includes.h" -static struct passwd *alloc_copy_passwd(const struct passwd *from) +static struct passwd *alloc_copy_passwd(TALLOC_CTX *mem_ctx, + const struct passwd *from) { - struct passwd *ret = smb_xmalloc_p(struct passwd); - ZERO_STRUCTP(ret); - ret->pw_name = smb_xstrdup(from->pw_name); - ret->pw_passwd = smb_xstrdup(from->pw_passwd); - ret->pw_uid = from->pw_uid; - ret->pw_gid = from->pw_gid; - ret->pw_gecos = smb_xstrdup(from->pw_gecos); - ret->pw_dir = smb_xstrdup(from->pw_dir); - ret->pw_shell = smb_xstrdup(from->pw_shell); - return ret; -} + struct passwd *ret = talloc_zero(mem_ctx, struct passwd); -void passwd_free (struct passwd **buf) -{ - if (!*buf) { - DEBUG(0, ("attempted double-free of allocated passwd\n")); - return; - } + if (ret == NULL) + return NULL; - SAFE_FREE((*buf)->pw_name); - SAFE_FREE((*buf)->pw_passwd); - SAFE_FREE((*buf)->pw_gecos); - SAFE_FREE((*buf)->pw_dir); - SAFE_FREE((*buf)->pw_shell); + ret->pw_name = talloc_strdup(ret, from->pw_name); + ret->pw_passwd = talloc_strdup(ret, from->pw_passwd); + ret->pw_uid = from->pw_uid; + ret->pw_gid = from->pw_gid; + ret->pw_gecos = talloc_strdup(ret, from->pw_gecos); + ret->pw_dir = talloc_strdup(ret, from->pw_dir); + ret->pw_shell = talloc_strdup(ret, from->pw_shell); - SAFE_FREE(*buf); + return ret; } -struct passwd *getpwnam_alloc(const char *name) +struct passwd *getpwnam_alloc(TALLOC_CTX *mem_ctx, const char *name) { struct passwd *temp; @@ -66,10 +55,10 @@ struct passwd *getpwnam_alloc(const char *name) return NULL; } - return alloc_copy_passwd(temp); + return alloc_copy_passwd(mem_ctx, temp); } -struct passwd *getpwuid_alloc(uid_t uid) +struct passwd *getpwuid_alloc(TALLOC_CTX *mem_ctx, uid_t uid) { struct passwd *temp; @@ -84,5 +73,5 @@ struct passwd *getpwuid_alloc(uid_t uid) return NULL; } - return alloc_copy_passwd(temp); + return alloc_copy_passwd(mem_ctx, temp); } diff --git a/source4/lib/util/util_str.c b/source4/lib/util/util_str.c index 4bec469f87..0f1f2d5a1c 100644 --- a/source4/lib/util/util_str.c +++ b/source4/lib/util/util_str.c @@ -260,26 +260,6 @@ _PUBLIC_ char *hex_encode_talloc(TALLOC_CTX *mem_ctx, const unsigned char *buff_ } /** - Set a string value, deallocating any existing space, and allocing the space - for the string -**/ -_PUBLIC_ bool string_set(TALLOC_CTX *mem_ctx, char **dest, const char *src) -{ - talloc_free(*dest); - - if (src == NULL) - src = ""; - - *dest = talloc_strdup(mem_ctx, src); - if ((*dest) == NULL) { - DEBUG(0,("Out of memory in string_init\n")); - return false; - } - - return true; -} - -/** Substitute a string for a pattern in another string. Make sure there is enough room! |