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]