From dfbb13e7db189025304183b10fcaed623231b203 Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Fri, 27 Oct 2017 17:40:39 -0700 Subject: [PATCH] Guard against impossible zoom level --- enumerate.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/enumerate.cpp b/enumerate.cpp index 6971fb5f..9b0aed5b 100644 --- a/enumerate.cpp +++ b/enumerate.cpp @@ -24,6 +24,11 @@ void enumerate(char *fname) { long long x = sqlite3_column_int(stmt, 1); long long y = sqlite3_column_int(stmt, 2); + if (zoom < 0 || zoom > 31) { + fprintf(stderr, "Corrupt mbtiles file: impossible zoom level %lld\n", zoom); + exit(EXIT_FAILURE); + } + y = (1LL << zoom) - 1 - y; printf("%s %lld %lld %lld\n", fname, zoom, x, y); }