Browse Source

* Avoid index out of bounds error

Michaël Van Canneyt 1 year ago
parent
commit
ddf0774575
1 changed files with 9 additions and 4 deletions
  1. 9 4
      packages/fcl-web/src/jsonrpc/fpjsonrpc.pp

+ 9 - 4
packages/fcl-web/src/jsonrpc/fpjsonrpc.pp

@@ -855,12 +855,17 @@ begin
     begin
     begin
     Def:=ParamDefs[i];
     Def:=ParamDefs[i];
     if I>=ParamArray.Count then
     if I>=ParamArray.Count then
+      begin
       if ParamDefs[i].Required then
       if ParamDefs[i].Required then
         JSONRPCParamError(SErrParamsRequiredParamNotFound,[def.Name]);
         JSONRPCParamError(SErrParamsRequiredParamNotFound,[def.Name]);
-    Param:=ParamArray[i];
-    // jtUnkown accepts all data types
-    if (def.DataType<>jtUnknown) and not (Param.JSONType=def.DataType) then
-      JSONRPCParamError(SErrParamsDataTypeMismatch,[def.Name,JSONTypeName(def.DataType),JSONTypeName(Param.JSONType)]);
+      end
+    else
+      begin  
+      Param:=ParamArray[i];
+      // jtUnkown accepts all data types
+      if (def.DataType<>jtUnknown) and not (Param.JSONType=def.DataType) then
+        JSONRPCParamError(SErrParamsDataTypeMismatch,[def.Name,JSONTypeName(def.DataType),JSONTypeName(Param.JSONType)]);
+      end;  
     end;
     end;
 end;
 end;