-
Notifications
You must be signed in to change notification settings - Fork 124
Labels
bugSomething isn't workingSomething isn't working
Description
When an existing user is patched with a phone number that's not already in the list a null reference exception will occur.
Lines 934 to 943 in ae181c1
| if (user.PhoneNumbers != null) | |
| { | |
| phoneNumberExisting = | |
| phoneNumber = | |
| user | |
| .PhoneNumbers | |
| .SingleOrDefault( | |
| (PhoneNumber item) => | |
| string.Equals(subAttribute.ComparisonValue, item.ItemType, StringComparison.Ordinal)); | |
| } |
This checks if the phone number already exists, if not then the SingleOrDefault() will assign null to phoneNumber.
Line 964 in ae181c1
| phoneNumber.Value = value; |
A few lines later (after retrieving the value of the patch operation) the phone number is updated while phoneNumber is null.
The same structure is used for patching email adresses, roles, addresses etc.
The patch body looked like this:
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "Add",
"path": "phoneNumbers[type eq \"work\"].value",
"value": "1120"
}
]
}Phone numbers did exist but not of type 'work'.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working