From: markt Date: Thu, 11 Nov 2010 13:00:52 +0000 (+0000) Subject: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50252 X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=0280ca6ad35a55285ea3d17b45170b0e7a041ca3;p=tomcat7.0 Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50252 Prevent ClassCastException when using a . Patch provided by Eiji Takahashi. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1033925 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/naming/NamingContext.java b/java/org/apache/naming/NamingContext.java index 7e419e713..0a27a0c39 100644 --- a/java/org/apache/naming/NamingContext.java +++ b/java/org/apache/naming/NamingContext.java @@ -825,12 +825,14 @@ public class NamingContext implements Context { try { Object obj = NamingManager.getObjectInstance (entry.value, name, this, env); - boolean singleton = Boolean.parseBoolean( - (String) ((ResourceRef) entry.value).get( - "singleton").getContent()); - if (singleton) { - entry.type = NamingEntry.ENTRY; - entry.value = obj; + if(entry.value instanceof ResourceRef) { + boolean singleton = Boolean.parseBoolean( + (String) ((ResourceRef) entry.value).get( + "singleton").getContent()); + if (singleton) { + entry.type = NamingEntry.ENTRY; + entry.value = obj; + } } return obj; } catch (NamingException e) { diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 93c6ede9a..b168ce20d 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -132,6 +132,10 @@ PersistentManager and associated code clean-up. Patch provided by Tiago Batista. (markt) + + 50252: Prevent ClassCastException when using a + <ResourceLink>. Patch provided by Eiji Takahashi. (markt) +