From 2762b9a97582b9b28fd5985ba8e3d0299126820e Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 4 Feb 2008 20:57:35 +0100 Subject: Always pass a TALLOC_CTX to str_list_make and str_list_copy (This used to be commit e2c9fc4cf5f0ff725330fa44f53782db65fca37e) --- source3/param/loadparm.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'source3/param/loadparm.c') diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index c1d26af989..5ecb3a4e70 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -1691,7 +1691,7 @@ static void init_globals(bool first_time_only) Globals.bWinbindTrustedDomainsOnly = False; Globals.bWinbindNestedGroups = True; Globals.winbind_expand_groups = 1; - Globals.szWinbindNssInfo = str_list_make("template", NULL); + Globals.szWinbindNssInfo = str_list_make(NULL, "template", NULL); Globals.bWinbindRefreshTickets = False; Globals.bWinbindOfflineLogon = False; @@ -2397,7 +2397,7 @@ const char **lp_parm_string_list(int snum, const char *type, const char *option, return (const char **)def; if (data->list==NULL) { - data->list = str_list_make(data->value, NULL); + data->list = str_list_make(NULL, data->value, NULL); } return (const char **)data->list; @@ -3276,7 +3276,8 @@ static void copy_service(service * pserviceDest, service * pserviceSource, break; case P_LIST: str_list_free((char ***)dest_ptr); - str_list_copy((char ***)dest_ptr, *(const char ***)src_ptr); + str_list_copy(NULL, (char ***)dest_ptr, + *(const char ***)src_ptr); break; default: break; @@ -3775,7 +3776,7 @@ static bool handle_netbios_scope(int snum, const char *pszParmValue, char **ptr) static bool handle_netbios_aliases(int snum, const char *pszParmValue, char **ptr) { str_list_free(&Globals.szNetbiosAliases); - Globals.szNetbiosAliases = str_list_make(pszParmValue, NULL); + Globals.szNetbiosAliases = str_list_make(NULL, pszParmValue, NULL); return set_netbios_aliases((const char **)Globals.szNetbiosAliases); } @@ -4193,7 +4194,8 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue case P_LIST: str_list_free((char ***)parm_ptr); - *(char ***)parm_ptr = str_list_make(pszParmValue, NULL); + *(char ***)parm_ptr = str_list_make( + NULL, pszParmValue, NULL); break; case P_STRING: @@ -4812,8 +4814,9 @@ static void lp_save_defaults(void) continue; switch (parm_table[i].type) { case P_LIST: - str_list_copy(&(parm_table[i].def.lvalue), - *(const char ***)parm_table[i].ptr); + str_list_copy( + NULL, &(parm_table[i].def.lvalue), + *(const char ***)parm_table[i].ptr); break; case P_STRING: case P_USTRING: -- cgit From b361956942618ec2f7c2efc60cb190858adbc516 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 4 Feb 2008 21:05:41 +0100 Subject: str_list_free is not needed anymore (This used to be commit feddc1447d585fd108d22a36bccc576fa81197ef) --- source3/param/loadparm.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'source3/param/loadparm.c') diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 5ecb3a4e70..8edd32e937 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -2494,9 +2494,10 @@ static void free_service(service *pservice) PTR_DIFF(parm_table[i].ptr, &sDefault))); else if (parm_table[i].type == P_LIST && parm_table[i].p_class == P_LOCAL) - str_list_free((char ***) - (((char *)pservice) + - PTR_DIFF(parm_table[i].ptr, &sDefault))); + TALLOC_FREE(*((char ***) + (((char *)pservice) + + PTR_DIFF(parm_table[i].ptr, + &sDefault)))); } data = pservice->param_opt; @@ -2506,7 +2507,7 @@ static void free_service(service *pservice) DEBUG(5,("[%s = %s]\n", data->key, data->value)); string_free(&data->key); string_free(&data->value); - str_list_free(&data->list); + TALLOC_FREE(data->list); pdata = data->next; SAFE_FREE(data); data = pdata; @@ -2566,7 +2567,7 @@ static int add_a_service(const service *pservice, const char *name) while (data) { string_free(&data->key); string_free(&data->value); - str_list_free(&data->list); + TALLOC_FREE(data->list); pdata = data->next; SAFE_FREE(data); data = pdata; @@ -3275,7 +3276,7 @@ static void copy_service(service * pserviceDest, service * pserviceSource, strupper_m(*(char **)dest_ptr); break; case P_LIST: - str_list_free((char ***)dest_ptr); + TALLOC_FREE(*((char ***)dest_ptr)); str_list_copy(NULL, (char ***)dest_ptr, *(const char ***)src_ptr); break; @@ -3300,7 +3301,7 @@ static void copy_service(service * pserviceDest, service * pserviceSource, /* If we already have same option, override it */ if (strcmp(pdata->key, data->key) == 0) { string_free(&pdata->value); - str_list_free(&data->list); + TALLOC_FREE(data->list); pdata->value = SMB_STRDUP(data->value); not_added = False; break; @@ -3775,7 +3776,7 @@ static bool handle_netbios_scope(int snum, const char *pszParmValue, char **ptr) static bool handle_netbios_aliases(int snum, const char *pszParmValue, char **ptr) { - str_list_free(&Globals.szNetbiosAliases); + TALLOC_FREE(Globals.szNetbiosAliases); Globals.szNetbiosAliases = str_list_make(NULL, pszParmValue, NULL); return set_netbios_aliases((const char **)Globals.szNetbiosAliases); } @@ -4100,7 +4101,7 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue /* If we already have same option, override it */ if (strcmp(data->key, param_key) == 0) { string_free(&data->value); - str_list_free(&data->list); + TALLOC_FREE(data->list); data->value = SMB_STRDUP(pszParmValue); not_added = False; break; @@ -4193,7 +4194,7 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue break; case P_LIST: - str_list_free((char ***)parm_ptr); + TALLOC_FREE(*((char ***)parm_ptr)); *(char ***)parm_ptr = str_list_make( NULL, pszParmValue, NULL); break; @@ -5650,7 +5651,7 @@ void gfree_loadparm(void) string_free( (char**)parm_table[i].ptr ); } else if (parm_table[i].type == P_LIST) { - str_list_free( (char***)parm_table[i].ptr ); + TALLOC_FREE( *((char***)parm_table[i].ptr) ); } } } @@ -5690,7 +5691,7 @@ bool lp_load(const char *pszFname, while (data) { string_free(&data->key); string_free(&data->value); - str_list_free(&data->list); + TALLOC_FREE(data->list); pdata = data->next; SAFE_FREE(data); data = pdata; -- cgit