aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hao Zhong (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARIES-1701) A Possible NPE
Date Fri, 17 Mar 2017 00:47:41 GMT

    [ https://issues.apache.org/jira/browse/ARIES-1701?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15929247#comment-15929247
] 

Hao Zhong commented on ARIES-1701:
----------------------------------

ARIES-788 fixed the code as follow:
ServiceReference ref = reference;
                reference = null;
                service = null;
                proxy = null;
                Bundle bundle = ref.getBundle();
                if (bundle != null) {
                    BundleContext ctx = bundle.getBundleContext();
                    if (ctx != null) {
                        ctx.ungetService(reference);
                    }
                }

> 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)

Mime
View raw message