commit abf2683238e3d9759acd34fa7eaeacee8da78d46
parent 4f50d63d6a233d6c484a4dfa020a6d332416b262
Author: Sergej Orlov <wladimirych@gmail.com>
Date: Thu, 9 Feb 2017 11:54:45 +0300
[tracks] added handling utf-8 errors when parsing gpx and kml
Diffstat:
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/lib/leaflet.control.track-list/lib/geo_file_formats.js b/src/lib/leaflet.control.track-list/lib/geo_file_formats.js
@@ -59,7 +59,12 @@ function parseGpx(txt, name) {
error = 'CORRUPT';
continue;
}
- waypoint.name = utf8_decode(xmlGetNodeText(waypoint_element.getElementsByTagName('name')[0]));
+ try {
+ waypoint.name = utf8_decode(xmlGetNodeText(waypoint_element.getElementsByTagName('name')[0]));
+ } catch (e) {
+ error = 'CORRUPT';
+ continue;
+ }
waypoint.symbol_name = xmlGetNodeText(waypoint_element.getElementsByTagName('sym')[0]);
waypoints.push(waypoint);
}
@@ -239,7 +244,12 @@ function parseKml(txt, name) {
error = 'CORRUPT';
break;
}
- name = utf8_decode(xmlGetNodeText(name[0]).trim());
+ try {
+ name = utf8_decode(xmlGetNodeText(name[0]).trim());
+ } catch (e) {
+ error = 'CORRUPT';
+ break;
+ }
points.push({
name: name,
lat: lat,