Changeset 12087 in josm for trunk/src/org/openstreetmap/josm


Ignore:
Timestamp:
2017-05-08T15:53:13+02:00 (3 years ago)
Author:
Don-vip
Message:

fix #14754 - avoid silent failure with invalid lat/lon coordinates in .osm file

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/OsmReader.java

    r11919 r12087  
    218218        String lat = parser.getAttributeValue(null, "lat");
    219219        String lon = parser.getAttributeValue(null, "lon");
     220        LatLon ll = null;
    220221        if (lat != null && lon != null) {
    221             nd.setCoor(new LatLon(Double.parseDouble(lat), Double.parseDouble(lon)));
     222            ll = new LatLon(Double.parseDouble(lat), Double.parseDouble(lon));
     223            nd.setCoor(ll);
    222224        }
    223225        readCommon(nd);
     226        if (ll != null && !ll.isValid()) {
     227            throwException(tr("Illegal value for attributes ''lat'', ''lon'' on node with ID {0}. Got ''{1}'', ''{2}''.",
     228                    Long.toString(nd.getId()), lat, lon));
     229        }
    224230        Node n = new Node(nd.getId(), nd.getVersion());
    225231        n.setVisible(nd.isVisible());
Note: See TracChangeset for help on using the changeset viewer.