Modify

Opened 2 years ago

Last modified 2 years ago

#21920 new defect

New Coverity warnings

Reported by: Don-vip Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: coverity Cc:

Description

The Coverity build was failing due to the tool version we used (2019) being not supported anymore.

I updated to the latest version and we have a bunch of new warnings (38):
https://scan6.scan.coverity.com/reports.htm#v10572/p10006


Attachments (1)

coverity.png (197.1 KB ) - added by Don-vip 2 years ago.

Download all attachments as: .zip

Change History (2)

by Don-vip, 2 years ago

Attachment: coverity.png added

comment:1 by Don-vip, 2 years ago

38 new defect(s) introduced to JOSM found with Coverity Scan.
14 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 20 of 38 defect(s)


** CID 1476017:  Sigma  (SIGMA.xml_external_entity_enabled_core_java_xpath)
/src/org/openstreetmap/josm/io/session/NoteSessionImporter.java: 40 in org.openstreetmap.josm.io.session.NoteSessionImporter::load(org.w3c.dom.Element, org.openstreetmap.josm.io.session.SessionReader.ImportSupport, org.openstreetmap.josm.gui.progress.ProgressMonitor)()


________________________________________________________________________________________________________
*** CID 1476017:  Sigma  (SIGMA.xml_external_entity_enabled_core_java_xpath)
/src/org/openstreetmap/josm/io/session/NoteSessionImporter.java: 40 in org.openstreetmap.josm.io.session.NoteSessionImporter::load(org.w3c.dom.Element, org.openstreetmap.josm.io.session.SessionReader.ImportSupport, org.openstreetmap.josm.gui.progress.ProgressMonitor)()
34             if (!"0.1".equals(version)) {
35                 throw new IllegalDataException(tr("Version ''{0}'' of meta data for note layer is not supported. Expected: 0.1", version));
36             }
37             try {
38                 XPathFactory xPathFactory = XPathFactory.newInstance();
39                 XPath xpath = xPathFactory.newXPath();
>>>     CID 1476017:  Sigma  (SIGMA.xml_external_entity_enabled_core_java_xpath)
>>>     The application performs an `XPath` action without disabling `DTD` or enabling `XMLConstants.FEATURE_SECURE_PROCESSING` mode. If the parser handles untrusted data, it will be vulnerable to XML External Entity (XXE) attacks.
40                 XPathExpression fileExp = xpath.compile("file/text()");
41                 String fileStr = (String) fileExp.evaluate(elem, XPathConstants.STRING);
42                 if (Utils.isEmpty(fileStr)) {
43                     throw new IllegalDataException(tr("File name expected for layer no. {0}", support.getLayerIndex()));
44                 }
45     

** CID 1476016:    (LOCK_EVASION)
/src/org/openstreetmap/josm/gui/mappaint/styleelement/MapImage.java: 146 in org.openstreetmap.josm.gui.mappaint.styleelement.MapImage.getDisabled()()
/src/org/openstreetmap/josm/gui/mappaint/styleelement/MapImage.java: 148 in org.openstreetmap.josm.gui.mappaint.styleelement.MapImage.getDisabled()()


________________________________________________________________________________________________________
*** CID 1476016:    (LOCK_EVASION)
/src/org/openstreetmap/josm/gui/mappaint/styleelement/MapImage.java: 146 in org.openstreetmap.josm.gui.mappaint.styleelement.MapImage.getDisabled()()
140             if (img == null)
141                 getImage(); // fix #7498 ?
142             // This should fix #21919: NPE due to disabledImgCache being null (race condition with #loadImage())
143             synchronized (this) {
144                 Image disImg = GuiHelper.getDisabledImage(img);
145                 if (disImg instanceof BufferedImage) {
>>>     CID 1476016:    (LOCK_EVASION)
>>>     Thread1 sets "disabledImgCache" to a new value. Now the two threads have an inconsistent view of "disabledImgCache" and updates to fields of "disabledImgCache" or fields correlated with "disabledImgCache" may be lost.
146                     disabledImgCache = (BufferedImage) disImg;
147                 } else {
148                     disabledImgCache = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB);
149                     Graphics g = disabledImgCache.getGraphics();
150                     g.drawImage(disImg, 0, 0, null);
151                     g.dispose();
/src/org/openstreetmap/josm/gui/mappaint/styleelement/MapImage.java: 148 in org.openstreetmap.josm.gui.mappaint.styleelement.MapImage.getDisabled()()
142             // This should fix #21919: NPE due to disabledImgCache being null (race condition with #loadImage())
143             synchronized (this) {
144                 Image disImg = GuiHelper.getDisabledImage(img);
145                 if (disImg instanceof BufferedImage) {
146                     disabledImgCache = (BufferedImage) disImg;
147                 } else {
>>>     CID 1476016:    (LOCK_EVASION)
>>>     Thread1 sets "disabledImgCache" to a new value. Now the two threads have an inconsistent view of "disabledImgCache" and updates to fields of "disabledImgCache" or fields correlated with "disabledImgCache" may be lost.
148                     disabledImgCache = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB);
149                     Graphics g = disabledImgCache.getGraphics();
150                     g.drawImage(disImg, 0, 0, null);
151                     g.dispose();
152                 }
153             }

** CID 1476015:  High impact security  (SENSITIVE_DATA_LEAK)


________________________________________________________________________________________________________
*** CID 1476015:  High impact security  (SENSITIVE_DATA_LEAK)
/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java: 328 in org.openstreetmap.josm.gui.preferences.advanced.AdvancedPreference.readPreferencesFromXML()()
322                 CustomConfigurator.readXML(f, tmpPrefs);
323                 log.append(PreferencesUtils.getLog());
324             }
325             log.append("</html>");
326             String msg = log.toString().replace("\n", "<br/>");
327     
>>>     CID 1476015:  High impact security  (SENSITIVE_DATA_LEAK)
>>>     Calling "LogShowDialog". This shows the sensitive data "msg" in a user interface. It may be exposed to unintended individuals.
328             new LogShowDialog(tr("Import log"), tr("<html>Here is file import summary. <br/>"
329                     + "You can reject preferences changes by pressing \"Cancel\" in preferences dialog <br/>"
330                     + "To activate some changes JOSM restart may be needed.</html>"), msg).showDialog();
331     
332             readPreferences(tmpPrefs);
333             // sorting after modification - first modified, then non-default, then default entries

** CID 1476014:  Resource leaks  (RESOURCE_LEAK)
/src/org/openstreetmap/josm/gui/datatransfer/importers/FilePaster.java: 39 in org.openstreetmap.josm.gui.datatransfer.importers.FilePaster.importData(javax.swing.TransferHandler$TransferSupport, org.openstreetmap.josm.gui.layer.OsmDataLayer, org.openstreetmap.josm.data.coor.EastNorth)()


________________________________________________________________________________________________________
*** CID 1476014:  Resource leaks  (RESOURCE_LEAK)
/src/org/openstreetmap/josm/gui/datatransfer/importers/FilePaster.java: 39 in org.openstreetmap.josm.gui.datatransfer.importers.FilePaster.importData(javax.swing.TransferHandler$TransferSupport, org.openstreetmap.josm.gui.layer.OsmDataLayer, org.openstreetmap.josm.data.coor.EastNorth)()
33                 throws UnsupportedFlavorException, IOException {
34             @SuppressWarnings("unchecked")
35             List<File> files = (List<File>) support.getTransferable().getTransferData(df);
36             OpenFileAction.OpenFileTask task = new OpenFileAction.OpenFileTask(files, null);
37             task.setOptions(Options.RECORD_HISTORY);
38             MainApplication.worker.submit(task);
>>>     CID 1476014:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "files" going out of scope leaks the resource it refers to.
39             return true;
40         }

** CID 1476013:  Resource leaks  (RESOURCE_LEAK)
/src/org/openstreetmap/josm/gui/dialogs/layer/LayerListTransferHandler.java: 120 in org.openstreetmap.josm.gui.dialogs.layer.LayerListTransferHandler.importData(javax.swing.TransferHandler$TransferSupport)()


________________________________________________________________________________________________________
*** CID 1476013:  Resource leaks  (RESOURCE_LEAK)
/src/org/openstreetmap/josm/gui/dialogs/layer/LayerListTransferHandler.java: 120 in org.openstreetmap.josm.gui.dialogs.layer.LayerListTransferHandler.importData(javax.swing.TransferHandler$TransferSupport)()
114                         layers.getManager().addLayer(layer);
115                         layers.getManager().moveLayer(layer, dropLocation);
116                         dropLocation++;
117                     }
118                 }
119     
>>>     CID 1476013:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "layers" going out of scope leaks the resource it refers to.
120                 return true;
121             } catch (UnsupportedFlavorException e) {
122                 Logging.warn("Flavor not supported", e);
123                 return false;
124             } catch (IOException e) {
125                 Logging.warn("Error while pasting layer", e);

** CID 1476012:  Medium impact security  (RISKY_CRYPTO)
/src/org/openstreetmap/josm/io/CertificateAmendment.java: 252 in org.openstreetmap.josm.io.CertificateAmendment.addMissingCertificates()()


________________________________________________________________________________________________________
*** CID 1476012:  Medium impact security  (RISKY_CRYPTO)
/src/org/openstreetmap/josm/io/CertificateAmendment.java: 252 in org.openstreetmap.josm.io.CertificateAmendment.addMissingCertificates()()
246                 Logging.error(e);
247             }
248     
249             if (certificateAdded) {
250                 TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
251                 tmf.init(keyStore);
>>>     CID 1476012:  Medium impact security  (RISKY_CRYPTO)
>>>     Establishing an SSL connection that allows the TLSv1.2 (and earlier) protocols is insecure.  An attacker may be able to decrypt and extract sensitive data that is transmitted over the network.
252                 SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
253                 sslContext.init(null, tmf.getTrustManagers(), null);
254                 SSLContext.setDefault(sslContext);
255             }
256         }
257     

** CID 1476011:  Resource leaks  (RESOURCE_LEAK)
/src/org/openstreetmap/josm/gui/datatransfer/importers/TagTransferPaster.java: 28 in org.openstreetmap.josm.gui.datatransfer.importers.TagTransferPaster.getTags(javax.swing.TransferHandler$TransferSupport)()


________________________________________________________________________________________________________
*** CID 1476011:  Resource leaks  (RESOURCE_LEAK)
/src/org/openstreetmap/josm/gui/datatransfer/importers/TagTransferPaster.java: 28 in org.openstreetmap.josm.gui.datatransfer.importers.TagTransferPaster.getTags(javax.swing.TransferHandler$TransferSupport)()
22             super(TagTransferData.FLAVOR);
23         }
24     
25         @Override
26         protected Map<String, String> getTags(TransferSupport support) throws UnsupportedFlavorException, IOException {
27             TagTransferData data = (TagTransferData) support.getTransferable().getTransferData(df);
>>>     CID 1476011:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "data" going out of scope leaks the resource it refers to.
28             return data.getTags();
29         }

** CID 1476010:  Resource leaks  (RESOURCE_LEAK)
/src/org/openstreetmap/josm/io/FileWatcher.java: 55 in org.openstreetmap.josm.io.FileWatcher.<init>()()


________________________________________________________________________________________________________
*** CID 1476010:  Resource leaks  (RESOURCE_LEAK)
/src/org/openstreetmap/josm/io/FileWatcher.java: 55 in org.openstreetmap.josm.io.FileWatcher.<init>()()
49     
50         /**
51          * Constructs a new {@code FileWatcher}.
52          */
53         public FileWatcher() {
54             try {
>>>     CID 1476010:  Resource leaks  (RESOURCE_LEAK)
>>>     Failing to save or close resource created by "java.nio.file.FileSystems.getDefault()" leaks it.
55                 watcher = FileSystems.getDefault().newWatchService();
56                 thread = new Thread(this::processEvents, "File Watcher");
57             } catch (IOException | UnsupportedOperationException | UnsatisfiedLinkError e) {
58                 Logging.error(e);
59             }
60         }

** CID 1476009:  Null pointer dereferences  (NULL_RETURNS)
/src/org/openstreetmap/josm/gui/dialogs/properties/RelationRoleEditor.java: 44 in org.openstreetmap.josm.gui.dialogs.properties.RelationRoleEditor.editRole(org.openstreetmap.josm.data.osm.Relation, org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$MemberInfo)()


________________________________________________________________________________________________________
*** CID 1476009:  Null pointer dereferences  (NULL_RETURNS)
/src/org/openstreetmap/josm/gui/dialogs/properties/RelationRoleEditor.java: 44 in org.openstreetmap.josm.gui.dialogs.properties.RelationRoleEditor.editRole(org.openstreetmap.josm.data.osm.Relation, org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$MemberInfo)()
38             final String oldRole = memberInfo.getRoleString();
39             final DefaultNameFormatter formatter = DefaultNameFormatter.getInstance();
40             final String newRole = JOptionPane.showInputDialog("<html>" + tr("Change role for {0} in relation {1}",
41                     formatter.formatAsHtmlUnorderedList(Utils.transform(members, RelationMember::getMember), 5),
42                     formatter.formatAsHtmlUnorderedList(relation)),
43                     oldRole);
>>>     CID 1476009:  Null pointer dereferences  (NULL_RETURNS)
>>>     Calling a method on null object "oldRole".
44             if (newRole == null || oldRole.equals(newRole) || tr("<different>").equals(newRole)) {
45                 return;
46             }
47             final List<RelationMember> newMembers = relation.getMembers();
48             newMembers.replaceAll(m -> members.contains(m) ? new RelationMember(Utils.strip(newRole), m.getMember()) : m);
49             UndoRedoHandler.getInstance().add(new ChangeMembersCommand(relation, newMembers));
50         }

** CID 1476008:  Null pointer dereferences  (NULL_RETURNS)
/src/org/openstreetmap/josm/gui/layer/imagery/WMTSLayerSelection.java: 128 in org.openstreetmap.josm.gui.layer.imagery.WMTSLayerSelection$#1.update()()


________________________________________________________________________________________________________
*** CID 1476008:  Null pointer dereferences  (NULL_RETURNS)
/src/org/openstreetmap/josm/gui/layer/imagery/WMTSLayerSelection.java: 128 in org.openstreetmap.josm.gui.layer.imagery.WMTSLayerSelection$#1.update()()
122                 public void changedUpdate(DocumentEvent e) {
123                     update();
124                 }
125     
126                 @SuppressWarnings({ "unchecked", "rawtypes" })
127                 private void update() {
>>>     CID 1476008:  Null pointer dereferences  (NULL_RETURNS)
>>>     Calling a method on null object "list.getRowSorter()".
128                     ((TableRowSorter) list.getRowSorter()).setRowFilter(RowFilter.regexFilter("(?i)" + filter.getText()));
129                 }
130     
131             });
132             add(filter, GBC.eop().fill(GBC.HORIZONTAL));
133             add(new JScrollPane(this.list), GBC.eol().fill());

** CID 1476007:  Sigma  (SIGMA.xml_external_entity_enabled_core_java_xpath)
/src/org/openstreetmap/josm/io/session/GpxTracksSessionImporter.java: 41 in org.openstreetmap.josm.io.session.GpxTracksSessionImporter::load(org.w3c.dom.Element, SessionReader.ImportSupport, org.openstreetmap.josm.gui.progress.ProgressMonitor)()


________________________________________________________________________________________________________
*** CID 1476007:  Sigma  (SIGMA.xml_external_entity_enabled_core_java_xpath)
/src/org/openstreetmap/josm/io/session/GpxTracksSessionImporter.java: 41 in org.openstreetmap.josm.io.session.GpxTracksSessionImporter::load(org.w3c.dom.Element, SessionReader.ImportSupport, org.openstreetmap.josm.gui.progress.ProgressMonitor)()
35             if (!"0.1".equals(version)) {
36                 throw new IllegalDataException(tr("Version ''{0}'' of meta data for gpx track layer is not supported. Expected: 0.1", version));
37             }
38             try {
39                 XPathFactory xPathFactory = XPathFactory.newInstance();
40                 XPath xpath = xPathFactory.newXPath();
>>>     CID 1476007:  Sigma  (SIGMA.xml_external_entity_enabled_core_java_xpath)
>>>     The application performs an `XPath` action without disabling `DTD` or enabling `XMLConstants.FEATURE_SECURE_PROCESSING` mode. If the parser handles untrusted data, it will be vulnerable to XML External Entity (XXE) attacks.
41                 XPathExpression fileExp = xpath.compile("file/text()");
42                 String fileStr = (String) fileExp.evaluate(elem, XPathConstants.STRING);
43                 if (Utils.isEmpty(fileStr)) {
44                     throw new IllegalDataException(tr("File name expected for layer no. {0}", support.getLayerIndex()));
45                 }
46     

** CID 1476006:  High impact security  (SENSITIVE_DATA_LEAK)


________________________________________________________________________________________________________
*** CID 1476006:  High impact security  (SENSITIVE_DATA_LEAK)
/src/org/openstreetmap/josm/actions/downloadtasks/PostDownloadHandler.java: 111 in <lambda implementing java.lang.Runnable>.run()
105                 final Object error = errors.iterator().next();
106                 if (!GraphicsEnvironment.isHeadless()) {
107                     SwingUtilities.invokeLater(() -> {
108                         if (error instanceof Exception) {
109                             ExceptionDialogUtil.explainException((Exception) error);
110                         } else if (isNoDataErrorMessage(error)) {
>>>     CID 1476006:  High impact security  (SENSITIVE_DATA_LEAK)
>>>     Calling "Notification". This shows the sensitive data "error.toString()" in a user interface. It may be exposed to unintended individuals.
111                             new Notification(error.toString()).setIcon(JOptionPane.WARNING_MESSAGE).show();
112                         } else {
113                             JOptionPane.showMessageDialog(
114                                     MainApplication.getMainFrame(),
115                                     error.toString(),
116                                     tr("Error during download"),

** CID 1476005:  Low impact security  (SENSITIVE_DATA_LEAK)


________________________________________________________________________________________________________
*** CID 1476005:  Low impact security  (SENSITIVE_DATA_LEAK)
/src/org/openstreetmap/josm/gui/oauth/FullyAutomaticAuthorizationUI.java: 489 in org.openstreetmap.josm.gui.oauth.FullyAutomaticAuthorizationUI$FullyAutomaticAuthorisationTask.realRun()()
483                     );
484                     OAuthToken requestToken = authClient.getRequestToken(
485                             getProgressMonitor().createSubTaskMonitor(1, false)
486                     );
487                     getProgressMonitor().worked(1);
488                     if (canceled) return;
>>>     CID 1476005:  Low impact security  (SENSITIVE_DATA_LEAK)
>>>     Calling "authorise". This logs the sensitive data "getOsmPassword()" to a file or the console. It may be exposed to unintended individuals. (The virtual call resolves to "org.openstreetmap.josm.gui.oauth.OsmOAuthAuthorizationClient.authorise(org.openstreetmap.josm.data.oauth.OAuthToken, java.lang.String, java.lang.String, org.openstreetmap.josm.data.oauth.OsmPrivileges, org.openstreetmap.josm.gui.progress.ProgressMonitor)".)
489                     authClient.authorise(
490                             requestToken,
491                             getOsmUserName(),
492                             getOsmPassword(),
493                             pnlOsmPrivileges.getPrivileges(),
494                             getProgressMonitor().createSubTaskMonitor(1, false)

** CID 1476004:  Null pointer dereferences  (NULL_RETURNS)
/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java: 896 in org.openstreetmap.josm.gui.preferences.ToolbarPreferences$Settings$#3.createTransferable(javax.swing.JComponent)()


________________________________________________________________________________________________________
*** CID 1476004:  Null pointer dereferences  (NULL_RETURNS)
/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java: 896 in org.openstreetmap.josm.gui.preferences.ToolbarPreferences$Settings$#3.createTransferable(javax.swing.JComponent)()
890                     }
891     
892                     @Override
893                     protected Transferable createTransferable(JComponent c) {
894                         TreePath[] paths = actionsTree.getSelectionPaths();
895                         List<ActionDefinition> dragActions = new ArrayList<>();
>>>     CID 1476004:  Null pointer dereferences  (NULL_RETURNS)
>>>     Accessing length of null array "paths".
896                         for (TreePath path : paths) {
897                             DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
898                             Object obj = node.getUserObject();
899                             if (obj == null) {
900                                 dragActions.add(ActionDefinition.getSeparator());
901                             } else if (obj instanceof Action) {

** CID 1476003:  Null pointer dereferences  (NULL_RETURNS)
/src/org/openstreetmap/josm/data/imagery/ImageryPatterns.java: 62 in <lambda implementing java.util.function.Predicate>.test()


________________________________________________________________________________________________________
*** CID 1476003:  Null pointer dereferences  (NULL_RETURNS)
/src/org/openstreetmap/josm/data/imagery/ImageryPatterns.java: 62 in <lambda implementing java.util.function.Predicate>.test()
56             // Hide public constructor
57         }
58     
59         private static void checkUrlPatterns(String url, Pattern[] allPatterns, String errMessage) {
60             Matcher m = PATTERN_PARAM.matcher(Objects.requireNonNull(url, "url"));
61             while (m.find()) {
>>>     CID 1476003:  Null pointer dereferences  (NULL_RETURNS)
>>>     Dereferencing a pointer that might be "null" "m.group()" when calling "matcher".
62                 if (Arrays.stream(allPatterns).noneMatch(pattern -> pattern.matcher(m.group()).matches())) {
63                     throw new IllegalArgumentException(tr(errMessage, m.group(), url));
64                 }
65             }
66         }
67     

** CID 1476002:    (RESOURCE_LEAK)
/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java: 1157 in org.openstreetmap.josm.gui.layer.OsmDataLayer.removeClipboardDataFor(org.openstreetmap.josm.gui.layer.OsmDataLayer)()
/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java: 1157 in org.openstreetmap.josm.gui.layer.OsmDataLayer.removeClipboardDataFor(org.openstreetmap.josm.gui.layer.OsmDataLayer)()


________________________________________________________________________________________________________
*** CID 1476002:    (RESOURCE_LEAK)
/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java: 1157 in org.openstreetmap.josm.gui.layer.OsmDataLayer.removeClipboardDataFor(org.openstreetmap.josm.gui.layer.OsmDataLayer)()
1151             if (clipboardContents != null && clipboardContents.isDataFlavorSupported(OsmLayerTransferData.OSM_FLAVOR)) {
1152                 try {
1153                     Object o = clipboardContents.getTransferData(OsmLayerTransferData.OSM_FLAVOR);
1154                     if (o instanceof OsmLayerTransferData && osm.equals(((OsmLayerTransferData) o).getLayer())) {
1155                         ClipboardUtils.clear();
1156                     }
>>>     CID 1476002:    (RESOURCE_LEAK)
>>>     Variable "o" going out of scope leaks the resource it refers to.
1157                 } catch (UnsupportedFlavorException | IOException e) {
1158                     Logging.error(e);
1159                 }
1160             }
1161         }
1162     
/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java: 1157 in org.openstreetmap.josm.gui.layer.OsmDataLayer.removeClipboardDataFor(org.openstreetmap.josm.gui.layer.OsmDataLayer)()
1151             if (clipboardContents != null && clipboardContents.isDataFlavorSupported(OsmLayerTransferData.OSM_FLAVOR)) {
1152                 try {
1153                     Object o = clipboardContents.getTransferData(OsmLayerTransferData.OSM_FLAVOR);
1154                     if (o instanceof OsmLayerTransferData && osm.equals(((OsmLayerTransferData) o).getLayer())) {
1155                         ClipboardUtils.clear();
1156                     }
>>>     CID 1476002:    (RESOURCE_LEAK)
>>>     Variable "o" going out of scope leaks the resource it refers to.
1157                 } catch (UnsupportedFlavorException | IOException e) {
1158                     Logging.error(e);
1159                 }
1160             }
1161         }
1162     

** CID 1476001:  SpotBugs: Bad practice  (FB.RV_RETURN_VALUE_IGNORED_BAD_PRACTICE)
/src/org/openstreetmap/josm/spi/lifecycle/Lifecycle.java: 85 in org.openstreetmap.josm.spi.lifecycle.Lifecycle.initialize_org.openstreetmap.josm.spi.lifecycle.InitializationSequence/<gen>java.util.function.Consumer_instance_2.<init>(java.util.concurrent.ExecutorService)()


________________________________________________________________________________________________________
*** CID 1476001:  SpotBugs: Bad practice  (FB.RV_RETURN_VALUE_IGNORED_BAD_PRACTICE)
/src/org/openstreetmap/josm/spi/lifecycle/Lifecycle.java: 85 in org.openstreetmap.josm.spi.lifecycle.Lifecycle.initialize_org.openstreetmap.josm.spi.lifecycle.InitializationSequence/<gen>java.util.function.Consumer_instance_2.<init>(java.util.concurrent.ExecutorService)()
79                 }
80                 // asynchronous initializations to be completed eventually
81                 initSequence.asynchronousRunnableTasks().forEach(x -> {
82                     if (x != null) service.submit(x);
83                 });
84                 initSequence.asynchronousCallableTasks().forEach(x -> {
>>>     CID 1476001:  SpotBugs: Bad practice  (FB.RV_RETURN_VALUE_IGNORED_BAD_PRACTICE)
>>>     Exceptional return value of java.util.concurrent.ExecutorService.submit(Callable) ignored.
85                     if (x != null) service.submit(x);
86                 });
87                 try {
88                     service.shutdown();
89                 } catch (SecurityException e) {
90                     Logging.log(Logging.LEVEL_ERROR, "Unable to shutdown executor service", e);

** CID 1476000:  Null pointer dereferences  (FORWARD_NULL)
/src/org/openstreetmap/josm/gui/io/OnlineResourceMenu.java: 39 in org.openstreetmap.josm.gui.io.OnlineResourceMenu.<init>()()


________________________________________________________________________________________________________
*** CID 1476000:  Null pointer dereferences  (FORWARD_NULL)
/src/org/openstreetmap/josm/gui/io/OnlineResourceMenu.java: 39 in org.openstreetmap.josm.gui.io.OnlineResourceMenu.<init>()()
33             addMenuListener(new ToggleMenuListener());
34     
35             for (OnlineResource onlineResource : OnlineResource.values()) {
36                 ToggleOnlineResourceAction action = new ToggleOnlineResourceAction(onlineResource);
37                 JCheckBoxMenuItem item = new JCheckBoxMenuItem(action);
38                 action.addButtonModel(item.getModel());
>>>     CID 1476000:  Null pointer dereferences  (FORWARD_NULL)
>>>     "add" dereferences null "super.popupMenu".
39                 add(item);
40             }
41         }
42     
43         private static class ToggleOnlineResourceAction extends ToggleAction {
44             private final OnlineResource onlineResource;

** CID 1475999:    (SENSITIVE_DATA_LEAK)


________________________________________________________________________________________________________
*** CID 1475999:    (SENSITIVE_DATA_LEAK)
/src/org/openstreetmap/josm/gui/MainApplication.java: 1400 in org.openstreetmap.josm.gui.MainApplication$GuiFinalizationWorker.handleAutosave()()
1394                                 trn("JOSM found {0} unsaved osm data layer. ",
1395                                         "JOSM found {0} unsaved osm data layers. ", unsavedLayerFiles.size(), unsavedLayerFiles.size()) +
1396                                         tr("It looks like JOSM crashed last time. Would you like to restore the data?"));
1397                         dialog.setButtonIcons("ok", "cancel", "dialogs/delete");
1398                         int selection = dialog.showDialog().getValue();
1399                         if (selection == 1) {
>>>     CID 1475999:    (SENSITIVE_DATA_LEAK)
>>>     Calling "recoverUnsavedLayers". This shows the sensitive data "autosaveTask.autosaveDir" in a user interface. It may be exposed to unintended individuals. (The virtual call resolves to "org.openstreetmap.josm.gui.layer.AutosaveTask.recoverUnsavedLayers()".)
1400                             autosaveTask.recoverUnsavedLayers();
1401                         } else if (selection == 3) {
1402                             autosaveTask.discardUnsavedLayers();
1403                         }
1404                     }
1405                     try {
/src/org/openstreetmap/josm/gui/MainApplication.java: 1400 in org.openstreetmap.josm.gui.MainApplication$GuiFinalizationWorker.handleAutosave()()
1394                                 trn("JOSM found {0} unsaved osm data layer. ",
1395                                         "JOSM found {0} unsaved osm data layers. ", unsavedLayerFiles.size(), unsavedLayerFiles.size()) +
1396                                         tr("It looks like JOSM crashed last time. Would you like to restore the data?"));
1397                         dialog.setButtonIcons("ok", "cancel", "dialogs/delete");
1398                         int selection = dialog.showDialog().getValue();
1399                         if (selection == 1) {
>>>     CID 1475999:    (SENSITIVE_DATA_LEAK)
>>>     Calling "recoverUnsavedLayers". This shows the sensitive data "autosaveTask.autosaveDir" in a user interface. It may be exposed to unintended individuals. (The virtual call resolves to "org.openstreetmap.josm.gui.layer.AutosaveTask.recoverUnsavedLayers()".)
1400                             autosaveTask.recoverUnsavedLayers();
1401                         } else if (selection == 3) {
1402                             autosaveTask.discardUnsavedLayers();
1403                         }
1404                     }
1405                     try {

** CID 1475998:  Sigma  (SIGMA.xml_external_entity_enabled_core_java_xpath)
/src/org/openstreetmap/josm/io/session/MarkerSessionImporter.java: 39 in org.openstreetmap.josm.io.session.MarkerSessionImporter::load(org.w3c.dom.Element, org.openstreetmap.josm.io.session.SessionReader.ImportSupport, org.openstreetmap.josm.gui.progress.ProgressMonitor)()


________________________________________________________________________________________________________
*** CID 1475998:  Sigma  (SIGMA.xml_external_entity_enabled_core_java_xpath)
/src/org/openstreetmap/josm/io/session/MarkerSessionImporter.java: 39 in org.openstreetmap.josm.io.session.MarkerSessionImporter::load(org.w3c.dom.Element, org.openstreetmap.josm.io.session.SessionReader.ImportSupport, org.openstreetmap.josm.gui.progress.ProgressMonitor)()
33             if (!"0.1".equals(version)) {
34                 throw new IllegalDataException(tr("Version ''{0}'' of meta data for marker layer is not supported. Expected: 0.1", version));
35             }
36             try {
37                 XPathFactory xPathFactory = XPathFactory.newInstance();
38                 XPath xpath = xPathFactory.newXPath();
>>>     CID 1475998:  Sigma  (SIGMA.xml_external_entity_enabled_core_java_xpath)
>>>     The application performs an `XPath` action without disabling `DTD` or enabling `XMLConstants.FEATURE_SECURE_PROCESSING` mode. If the parser handles untrusted data, it will be vulnerable to XML External Entity (XXE) attacks.
39                 XPathExpression fileExp = xpath.compile("file/text()");
40                 String fileStr = (String) fileExp.evaluate(elem, XPathConstants.STRING);
41                 if (Utils.isEmpty(fileStr)) {
42                     throw new IllegalDataException(tr("File name expected for layer no. {0}", support.getLayerIndex()));
43                 }
44     

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to Don-vip.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.