The branch, v3-2-test has been updated via f1e401ef5c89ecf12921b7adb228da438521a693 (commit) from b5a2a1e3f82a0d319fc9a1d76f5166150680f4d4 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test - Log ----------------------------------------------------------------- commit f1e401ef5c89ecf12921b7adb228da438521a693 Author: Jeremy Allison <[EMAIL PROTECTED]> Date: Tue Nov 27 19:12:42 2007 -0800 Save one extra strdup per lp_string. Use talloc_sub_basic() directly. Jeremy. ----------------------------------------------------------------------- Summary of changes: source/param/loadparm.c | 26 ++++++++++++++------------ 1 files changed, 14 insertions(+), 12 deletions(-) Changeset truncated at 500 lines: diff --git a/source/param/loadparm.c b/source/param/loadparm.c index 80eac74..16c6c59 100644 --- a/source/param/loadparm.c +++ b/source/param/loadparm.c @@ -1729,7 +1729,8 @@ static void init_globals(bool first_time_only) static char *lp_string(const char *s) { - char *ret, *tmpstr; + char *ret; + TALLOC_CTX *ctx = talloc_tos(); /* The follow debug is useful for tracking down memory problems especially if you have an inner loop that is calling a lp_*() @@ -1740,19 +1741,20 @@ static char *lp_string(const char *s) DEBUG(10, ("lp_string(%s)\n", s)); #endif - tmpstr = alloc_sub_basic(get_current_username(), - current_user_info.domain, s); - if (trim_char(tmpstr, '\"', '\"')) { - if (strchr(tmpstr,'\"') != NULL) { - SAFE_FREE(tmpstr); - tmpstr = alloc_sub_basic(get_current_username(), - current_user_info.domain, s); + ret = talloc_sub_basic(ctx, + get_current_username(), + current_user_info.domain, + s); + if (trim_char(ret, '\"', '\"')) { + if (strchr(ret,'\"') != NULL) { + TALLOC_FREE(ret); + ret = talloc_sub_basic(ctx, + get_current_username(), + current_user_info.domain, + s); } } - ret = talloc_strdup(talloc_tos(), tmpstr); - SAFE_FREE(tmpstr); - - return (ret); + return ret; } /* -- Samba Shared Repository