[ https://issues.apache.org/jira/browse/FELIX-4304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pierre De Rop resolved FELIX-4304. ---------------------------------- Resolution: Fixed Fix Version/s: dependencymanager-4.0.0 The patch has been applied in DM4 (currently in the sandbox) > DependencyManager ComponentImpl should not assume all service properties are > stored in a Hashtable > -------------------------------------------------------------------------------------------------- > > Key: FELIX-4304 > URL: https://issues.apache.org/jira/browse/FELIX-4304 > Project: Felix > Issue Type: Bug > Components: Dependency Manager > Affects Versions: dependencymanager-3.1.0 > Reporter: Herko ter Horst > Assignee: Xander Uiterlinden > Fix For: dependencymanager-4.0.0 > > Attachments: ComponentImpl.java.patch > > Original Estimate: 1h > Remaining Estimate: 1h > > In org.apache.felix.dm.impl.ComponentImpl.getServiceProperties() a copy of > the internal field m_serviceProperties is created by casting to Hashtable and > calling clone(). However, as clients are allowed to call > setServiceProperties(Dictionary properties) which assigns the parameter value > to the field, it is very possible for m_serviceProperties to contain some > other Dictionary implementation. > The attached patch solves this problem in getServiceProperties() by making a > copy by enumerating over all keys and putting them in a newly created > Hashtable. > Alternatively (or in addition), setProperties() could be changed to ensure > the parameter value isn't directly assigned to the field. -- This message was sent by Atlassian JIRA (v6.3.4#6332)