From fe05e7e5b3769dd8749a4bc0378360a9c448e0ae Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Thu, 24 Jul 2014 12:56:10 +0200 Subject: [PATCH] Self reference detection defensively handles null bean names Issue: SPR-12018 --- .../factory/support/DefaultListableBeanFactory.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java index 236ec318b1..2888fa65c5 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java @@ -1244,15 +1244,9 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto * on the original bean. */ private boolean isSelfReference(String beanName, String candidateName) { - if (beanName.equals(candidateName)) { - return true; - } - if (candidateName != null && containsBeanDefinition(candidateName)) { - if (beanName.equals(getMergedLocalBeanDefinition(candidateName).getFactoryBeanName())) { - return true; - } - } - return false; + return (beanName != null && candidateName != null && + (beanName.equals(candidateName) || (containsBeanDefinition(candidateName) && + beanName.equals(getMergedLocalBeanDefinition(candidateName).getFactoryBeanName())))); } /** -- GitLab