Guard against null keys and values in tileset metadata

This commit is contained in:
Eric Fischer
2017-10-27 17:38:07 -07:00
parent 4c7de922ce
commit d13e08c9b5
3 changed files with 39 additions and 14 deletions
+9 -2
View File
@@ -501,8 +501,15 @@ void mbtiles_write_metadata(sqlite3 *outdb, const char *outdir, const char *fnam
while (sqlite3_step(stmt) == SQLITE_ROW) {
std::string key, value;
quote(key, (const char *) sqlite3_column_text(stmt, 0));
quote(value, (const char *) sqlite3_column_text(stmt, 1));
const char *k = (const char *) sqlite3_column_text(stmt, 0);
const char *v = (const char *) sqlite3_column_text(stmt, 1);
if (k == NULL || v == NULL) {
fprintf(stderr, "Corrupt mbtiles file: null metadata\n");
exit(EXIT_FAILURE);
}
quote(key, k);
quote(value, v);
if (!first) {
fprintf(fp, ",\n");