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]

Reply via email to