@@ -885,7 +885,11 @@ boolean isRestrictedServiceAllowed(Service service, boolean isServiceAdded) {
885
885
}
886
886
String stackElemModule = stackElement .getModuleName ();
887
887
String stackElemFullClassName = stackElement .getClassName ();
888
- String stackElemPackage = stackElemFullClassName .substring (stackElemFullClassName .lastIndexOf ("." ) + 1 );
888
+ int stackElemEnd = stackElemFullClassName .lastIndexOf ("." );
889
+ String stackElemPackage = null ;
890
+ if (stackElemEnd != -1 ) {
891
+ stackElemPackage = stackElemFullClassName .substring (0 , );
892
+ }
889
893
String module ;
890
894
switch (option ) {
891
895
case "ModuleAndFullClassName" :
@@ -895,7 +899,8 @@ boolean isRestrictedServiceAllowed(Service service, boolean isServiceAdded) {
895
899
}
896
900
module = moduleAndFullClassName [0 ];
897
901
String fullClassName = moduleAndFullClassName [1 ];
898
- found = stackElemModule .equals (module ) && stackElemFullClassName .equals (fullClassName );
902
+ found = (stackElemModule != null ) && stackElemModule .equals (module )
903
+ && stackElemFullClassName .equals (fullClassName );
899
904
break ;
900
905
case "ModuleAndPackage" :
901
906
String [] moduleAndPackage = value .split ("/" );
@@ -904,13 +909,14 @@ boolean isRestrictedServiceAllowed(Service service, boolean isServiceAdded) {
904
909
}
905
910
module = moduleAndPackage [0 ];
906
911
String packageValue = moduleAndPackage [1 ];
907
- found = stackElemModule .equals (module ) && stackElemFullClassName .equals (packageValue );
912
+ found = (stackElemModule != null ) && stackElemModule .equals (module )
913
+ && (stackElemPackage != null ) && stackElemPackage .equals (packageValue );
908
914
break ;
909
915
case "FullClassName" :
910
916
found = stackElemFullClassName .equals (value );
911
917
break ;
912
918
case "Package" :
913
- found = stackElemPackage .equals (value );
919
+ found = ( stackElemPackage != null ) && stackElemPackage .equals (value );
914
920
break ;
915
921
default :
916
922
printStackTraceAndExit ("Incorrect option to match in constraint: " + constraint );
0 commit comments