From d7dcbcc42d9a8424ec2204a220b3b912b7be2f70 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 11 Jan 2012 13:47:08 +0100 Subject: [PATCH] lib/param: avoid talloc_reference() in copy_service() The memory reduction compared of talloc_reference() over talloc_strdup() is typically very low. As the strings are typically short compared to the talloc header overhead. metze Autobuild-User: Stefan Metzmacher Autobuild-Date: Wed Jan 11 16:13:50 CET 2012 on sn-devel-104 --- lib/param/loadparm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index 949c404bf17f..03ee8f34ac6b 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -2140,7 +2140,7 @@ static void copy_service(struct loadparm_service *pserviceDest, /* If we already have same option, override it */ if (strcmp(pdata->key, data->key) == 0) { talloc_free(pdata->value); - pdata->value = talloc_reference(pdata, + pdata->value = talloc_strdup(pdata, data->value); not_added = false; break; @@ -2151,8 +2151,8 @@ static void copy_service(struct loadparm_service *pserviceDest, paramo = talloc_zero(pserviceDest, struct parmlist_entry); if (paramo == NULL) smb_panic("OOM"); - paramo->key = talloc_reference(paramo, data->key); - paramo->value = talloc_reference(paramo, data->value); + paramo->key = talloc_strdup(paramo, data->key); + paramo->value = talloc_strdup(paramo, data->value); DLIST_ADD(pserviceDest->param_opt, paramo); } data = data->next; -- 2.34.1