From 7aff60f72279c17c24962c9e4dac80d979a64ff7 Mon Sep 17 00:00:00 2001 From: Al Arafat Tanin | arafattanin Date: Mon, 9 Oct 2023 11:49:29 +0600 Subject: [PATCH 1/2] fix: check on possible null pointer deference --- .../DeserializationModelCreator.java | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/eclipse/yasson/internal/deserializer/DeserializationModelCreator.java b/src/main/java/org/eclipse/yasson/internal/deserializer/DeserializationModelCreator.java index 0ac3f980a..26fe8cfe6 100644 --- a/src/main/java/org/eclipse/yasson/internal/deserializer/DeserializationModelCreator.java +++ b/src/main/java/org/eclipse/yasson/internal/deserializer/DeserializationModelCreator.java @@ -224,17 +224,20 @@ private ModelDeserializer createObjectDeserializer(LinkedList } for (String s : params) { CreatorModel creatorModel = creator.findByName(s); - ModelDeserializer modelDeserializer = typeProcessor(chain, - creatorModel.getType(), - creatorModel.getCustomization(), - JustReturn.instance()); - String parameterName = renamer.apply(creatorModel.getName()); - processors.put(parameterName, modelDeserializer); - if (creatorModel.getCustomization().isRequired()) { - defaultCreatorValues.put(parameterName, new RequiredCreatorParameter(parameterName)); - } else { - Class rawParamType = ReflectionUtils.getRawType(creatorModel.getType()); - defaultCreatorValues.put(parameterName, DEFAULT_CREATOR_VALUES.getOrDefault(rawParamType, NULL_PROVIDER)); + if (creatorModel != null) { + ModelDeserializer modelDeserializer = typeProcessor(chain, + creatorModel.getType(), + creatorModel.getCustomization(), + JustReturn.instance()); + String parameterName = renamer.apply(creatorModel.getName()); + processors.put(parameterName, modelDeserializer); + if (creatorModel.getCustomization().isRequired()) { + defaultCreatorValues.put(parameterName, new RequiredCreatorParameter(parameterName)); + } else { + Class rawParamType = ReflectionUtils.getRawType(creatorModel.getType()); + defaultCreatorValues.put(parameterName, + DEFAULT_CREATOR_VALUES.getOrDefault(rawParamType, NULL_PROVIDER)); + } } } ModelDeserializer instanceCreator; From b3e53ddd54db8b5b3676769d2f0d4840d696fc23 Mon Sep 17 00:00:00 2001 From: Al Arafat Tanin | arafattanin Date: Tue, 21 Nov 2023 14:33:19 +0600 Subject: [PATCH 2/2] fix: copyright year --- src/main/java/org/eclipse/yasson/internal/ReflectionUtils.java | 2 +- .../eclipse/yasson/defaultmapping/generics/GenericsTest.java | 2 +- .../LowerBoundTypeVariableWithCollectionAttributeClass.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/eclipse/yasson/internal/ReflectionUtils.java b/src/main/java/org/eclipse/yasson/internal/ReflectionUtils.java index a5eac94cf..66ccac94e 100644 --- a/src/main/java/org/eclipse/yasson/internal/ReflectionUtils.java +++ b/src/main/java/org/eclipse/yasson/internal/ReflectionUtils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at diff --git a/src/test/java/org/eclipse/yasson/defaultmapping/generics/GenericsTest.java b/src/test/java/org/eclipse/yasson/defaultmapping/generics/GenericsTest.java index b193521ca..a1bf7f2b4 100644 --- a/src/test/java/org/eclipse/yasson/defaultmapping/generics/GenericsTest.java +++ b/src/test/java/org/eclipse/yasson/defaultmapping/generics/GenericsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at diff --git a/src/test/java/org/eclipse/yasson/defaultmapping/generics/model/LowerBoundTypeVariableWithCollectionAttributeClass.java b/src/test/java/org/eclipse/yasson/defaultmapping/generics/model/LowerBoundTypeVariableWithCollectionAttributeClass.java index 3b7198a6e..7f58792a7 100644 --- a/src/test/java/org/eclipse/yasson/defaultmapping/generics/model/LowerBoundTypeVariableWithCollectionAttributeClass.java +++ b/src/test/java/org/eclipse/yasson/defaultmapping/generics/model/LowerBoundTypeVariableWithCollectionAttributeClass.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2022 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2023 Oracle and/or its affiliates. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at