commit 9d1901392914aa9a44a98f54c1fcb0ee5309383c
parent 81c9e484975c64bf219c7bc833ec17d18f32586b
Author: Sergej Orlov <wladimirych@gmail.com>
Date: Sat, 25 Feb 2017 22:54:41 +0300
[track list] hadle errors when reading kmz and zip files
Diffstat:
1 file changed, 20 insertions(+), 4 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
@@ -275,7 +275,11 @@ function parseKml(txt, name) {
function parseKmz(txt, name) {
var uncompressed;
- var unzipper = new JSUnzip(txt);
+ try {
+ var unzipper = new JSUnzip(txt);
+ } catch (e) {
+ return null;
+ }
var tracks = [],
points = [],
geodata,
@@ -284,7 +288,11 @@ function parseKmz(txt, name) {
if (!unzipper.isZipFile()) {
return null;
}
- unzipper.readEntries();
+ try {
+ unzipper.readEntries();
+ } catch (e) {
+ return null;
+ }
var i, entry;
for (i = 0; i < unzipper.entries.length; i++) {
entry = unzipper.entries[i];
@@ -355,11 +363,19 @@ function parseYandexRulerUrl(s) {
function parseZip(txt, name) {
- var unzipper = new JSUnzip(txt);
+ try {
+ var unzipper = new JSUnzip(txt);
+ } catch (e) {
+ return null;
+ }
if (!unzipper.isZipFile()) {
return null;
}
- unzipper.readEntries();
+ try {
+ unzipper.readEntries();
+ } catch (e) {
+ return null;
+ }
var geodata_array = [];
for (var i = 0; i < unzipper.entries.length; i++) {
var entry = unzipper.entries[i];