You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Hao Zhong (JIRA)" <ji...@apache.org> on 2017/03/17 00:46:41 UTC

[jira] [Created] (ARIES-1701) A Possible NPE

Hao Zhong created ARIES-1701:
--------------------------------

             Summary: A Possible NPE
                 Key: ARIES-1701
                 URL: https://issues.apache.org/jira/browse/ARIES-1701
             Project: Aries
          Issue Type: Bug
          Components: Blueprint
    Affects Versions: blueprint-core-1.7.0
            Reporter: Hao Zhong


I found that the CmUtils.getProperties method has a buggy code as follow:
try {
            ConfigurationAdmin ca = bc.getService(caRef);
            Configuration config = getConfiguration(ca, persistentId);
            if (config != null) {
                Dictionary<String, Object> props = new CaseInsensitiveDictionary(config.getProperties());
                BundleContext caBc = caRef.getBundle().getBundleContext();
                callPlugins(caBc, props, service, persistentId, null);
                return props;
            } else {
                return null;
            }
        } finally {
            bc.ungetService(caRef);
        }
Here, before calling ungetService, the call chain BundleContext caBc = caRef.getBundle().getBundleContext() can throw NPE.

Indeed, a similar bug is fixed in ARIES-788. Please check this bug at https://issues.apache.org/jira/browse/ARIES-788?jql=project%20%3D%20ARIES



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)