Uploaded image for project: 'Grouper'
  1. Grouper
  2. GRP-5051

SCIM provisioner NPE on missing json values itemsPerPage and startIndex

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • 2.5.40, 2.6.0, 4.0.0
    • None
    • None

    Description

      grouper;grouper_error.log;dev;nothing;2023-10-13T23:23:08,561: [Thread-45] ERROR GrouperProvisioningLogic$1.run(2017) - [] - error querying target: scimGroupsAndEntities
      java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because the return value of "edu.internet2.middleware.grouper.util.GrouperUtil.jsonJacksonGetInteger(com.fasterxml.jackson.databind.JsonNode, String)" is null
      	at edu.internet2.middleware.grouper.app.scim2Provisioning.GrouperScim2ApiCommands.retrieveScimGroups(GrouperScim2ApiCommands.java:1102) ~[grouper-4.7.2.jar:4.7.2]
      	at edu.internet2.middleware.grouper.app.scim2Provisioning.GrouperScim2TargetDao.retrieveAllGroups(GrouperScim2TargetDao.java:64) ~[grouper-4.7.2.jar:4.7.2]
      	at edu.internet2.middleware.grouper.app.provisioning.targetDao.GrouperProvisionerTargetDaoAdapter.retrieveAllGroups(GrouperProvisionerTargetDaoAdapter.java:131) ~[grouper-4.7.2.jar:4.7.2]
      	at edu.internet2.middleware.grouper.app.provisioning.targetDao.GrouperProvisionerTargetDaoAdapter.retrieveAllData(GrouperProvisionerTargetDaoAdapter.java:786) ~[grouper-4.7.2.jar:4.7.2]
      	at edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningLogic$1.run(GrouperProvisioningLogic.java:2006) [grouper-4.7.2.jar:4.7.2]
      	at java.lang.Thread.run(Thread.java:833) [?:?]
      

      This is from a demo server with this request and response:

      http://scim:8080/scim/v2/Groups?startIndex=1&count=50

      {"totalResults":0,"startIndex":0,"schemas":["urn:ietf:params:scim:api:messages:2.0:ListResponse"],"Resources":[]}
      

      The offending line:

      int itemsPerPage = GrouperUtil.jsonJacksonGetInteger(jsonNode, "itemsPerPage")
      

      The problem isn't getting the integer, it's that the null value it gets can't be assigned to an int. Per the RFC both itemsPerPage and startIndex are only required when there is paging

      Attachments

        Activity

          People

            chris.hyzer@at.internet2.edu Chris Hyzer (upenn.edu)
            chad.redman.3@at.internet2.edu Chad Redman
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: