[PATCH 08/37] param: attempt to align the set_variable_helper with lp_do_parameter

abartlet at samba.org abartlet at samba.org
Fri Jun 20 05:47:30 MDT 2014


From: Garming Sam <garming at catalyst.net.nz>

This should allow some of it to be factored out into lib/param.

Signed-off-by: Garming Sam <garming at catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Change-Id: I7d0b3b4114c73aeaf9bf63e8c5fcd0a9d00cfc00
---
 source3/param/loadparm.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index ec168e9..7637444 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -2641,6 +2641,8 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue
 		return ok;
 	}
 
+	TALLOC_FREE(frame);
+
 	/* now switch on the type of variable it is */
 	switch (parm_table[parmnum].type)
 	{
@@ -2664,7 +2666,6 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue
 			i = sscanf(pszParmValue, "%o", (int *)parm_ptr);
 			if ( i != 1 ) {
 			    DEBUG ( 0, ("Invalid octal number %s\n", pszParmName ));
-			    TALLOC_FREE(frame);
 				return false;
 			}
 			break;
@@ -2740,7 +2741,6 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue
 		}
 		case P_ENUM:
 			if (!lp_set_enum_parm(&parm_table[parmnum], pszParmValue, (int*)parm_ptr)) {
-				TALLOC_FREE(frame);
 				return false;
 			}
 			break;
@@ -2748,7 +2748,6 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue
 			break;
 	}
 
-	TALLOC_FREE(frame);
 	return true;
 }
 
-- 
1.9.3



More information about the samba-technical mailing list