You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Andy Wu (JIRA)" <ji...@apache.org> on 2017/05/16 02:47:04 UTC
[jira] [Commented] (FELIX-2318) Possible NPE for jars with null
Manifest
[ https://issues.apache.org/jira/browse/FELIX-2318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16011661#comment-16011661 ]
Andy Wu commented on FELIX-2318:
--------------------------------
I have a question about this , I didn't find the limit of META-INF/MANIFEST.MF must be the first file in the jar , but java.util.jar.JarInputStream in jdk seems to make such assumption, but java.util.jar.JarFile can get MANIFEST.MF even if it is not the first file , so felix could use this class to get manifest information to avoid NPE. What do you think about this ? please let me know. thanks.
> Possible NPE for jars with null Manifest
> ----------------------------------------
>
> Key: FELIX-2318
> URL: https://issues.apache.org/jira/browse/FELIX-2318
> Project: Felix
> Issue Type: Bug
> Components: File Install
> Reporter: Sahoo
> Assignee: Guillaume Nodet
> Fix For: fileinstall-3.1.0
>
>
> JarFile.getManifest() can return null, so caller must check return value for null-ness to avoid NPE. I see two such occurrences in fileinstall:
> DirectoryWatcher.java:
> private Bundle installOrUpdateBundle(
> String bundleLocation, BufferedInputStream is, long checksum)
> throws IOException, BundleException
> {
> is.mark(256 * 1024);
> JarInputStream jar = new JarInputStream(is);
> Manifest m = jar.getManifest();
> String sn = m.getMainAttributes().getValue(Constants.BUNDLE_SYMBOLICNAME);
> ...
> BundleTransformer.java:
> Manifest m = jar.getManifest();
> if (m.getMainAttributes().getValue(new Attributes.Name("Bundle-SymbolicName")) != null)
> ...
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)