summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source3/param/loadparm.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index e1f52fdfe5..e350b87805 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;
}