From 44c0a6b94aa0157d44e6208f2acdc1f9f11a923c Mon Sep 17 00:00:00 2001 From: Eric Fischer Date: Tue, 23 Oct 2018 12:33:16 -0700 Subject: [PATCH] Fix a crash risk in parsing JSON coordinate arrays --- read_json.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/read_json.cpp b/read_json.cpp index 3efc904..c4fb318 100644 --- a/read_json.cpp +++ b/read_json.cpp @@ -77,13 +77,7 @@ void parse_geometry(int t, json_object *j, drawvec &out, int op, const char *fna } out.push_back(d); - } else if (j->length >= 2 && j->array[0]->type == JSON_NUMBER && j->array[1]->type == JSON_NUMBER) { - if (j == NULL || j->type != JSON_ARRAY) { - fprintf(stderr, "%s:%d: expected array for coordinate pair %d\n", fname, line, t); - json_context(feature); - return; - } - + } else if (j != NULL && j->type == JSON_ARRAY && j->length >= 2 && j->array[0]->type == JSON_NUMBER && j->array[1]->type == JSON_NUMBER) { long long x, y; double lon = j->array[0]->number; double lat = j->array[1]->number;