sebb 2004/12/11 04:12:18 Modified: src/functions/org/apache/jmeter/functions Tag: rel-2_0 RegexFunction.java Log: Improve parameter list checking (detect some unescaped commas!) Revision Changes Path No revision No revision 1.20.2.6 +21 -10 jakarta-jmeter/src/functions/org/apache/jmeter/functions/RegexFunction.java Index: RegexFunction.java =================================================================== RCS file: /home/cvs/jakarta-jmeter/src/functions/org/apache/jmeter/functions/RegexFunction.java,v retrieving revision 1.20.2.5 retrieving revision 1.20.2.6 diff -u -r1.20.2.5 -r1.20.2.6 --- RegexFunction.java 10 Jun 2004 21:55:54 -0000 1.20.2.5 +++ RegexFunction.java 11 Dec 2004 12:12:18 -0000 1.20.2.6 @@ -69,12 +69,15 @@ } }; + // Number of parameters expected - used to reject invalid calls + private static final int MIN_PARAMETER_COUNT = 2; + private static final int MAX_PARAMETER_COUNT = 6; static { - desc.add(JMeterUtils.getResString("regexfunc_param_1")); - desc.add(JMeterUtils.getResString("regexfunc_param_2")); - desc.add(JMeterUtils.getResString("regexfunc_param_3")); - desc.add(JMeterUtils.getResString("regexfunc_param_4")); - desc.add(JMeterUtils.getResString("regexfunc_param_5")); + desc.add(JMeterUtils.getResString("regexfunc_param_1"));// regex + desc.add(JMeterUtils.getResString("regexfunc_param_2"));// template + desc.add(JMeterUtils.getResString("regexfunc_param_3"));// which match + desc.add(JMeterUtils.getResString("regexfunc_param_4"));// between text + desc.add(JMeterUtils.getResString("regexfunc_param_5"));// default text desc.add(JMeterUtils.getResString("function_name_param")); } @@ -262,10 +265,18 @@ throws InvalidVariableException { values = parameters.toArray(); - if (values.length < 2) - { - throw new InvalidVariableException(); - } + + if ((values.length < MIN_PARAMETER_COUNT) + || (values.length > MAX_PARAMETER_COUNT)) + { + throw new InvalidVariableException( + "Parameter Count " //$NON-NLS-1$ + + values.length + + " not between " //$NON-NLS-1$ + + MIN_PARAMETER_COUNT + + " & " //$NON-NLS-1$ + + MAX_PARAMETER_COUNT); + } } private Object[] generateTemplate(String rawTemplate)
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]