diff --git a/base/schema-cjson/test/inputs/schema/min-max-items.schema/default/TopLevel.c b/head/schema-cjson/test/inputs/schema/min-max-items.schema/default/TopLevel.c
index 915b4e3..32e3699 100644
--- a/base/schema-cjson/test/inputs/schema/min-max-items.schema/default/TopLevel.c
+++ b/head/schema-cjson/test/inputs/schema/min-max-items.schema/default/TopLevel.c
@@ -65,6 +65,7 @@ struct TopLevel * cJSON_GetTopLevelValue(const cJSON * j) {
             if (!cJSON_HasObjectItem(j, "maxOnly")) { cJSON_DeleteTopLevel(x); return NULL; }
             if (cJSON_HasObjectItem(j, "maxOnly")) {
                 if (!cJSON_IsArray(cJSON_GetObjectItemCaseSensitive(j, "maxOnly"))) { cJSON_DeleteTopLevel(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "maxOnly")) > 3) { cJSON_DeleteTopLevel(x); return NULL; }
                 list_t * x1 = list_create(false, NULL);
                 if (NULL != x1) {
                     cJSON * e1 = NULL;
@@ -85,6 +86,8 @@ struct TopLevel * cJSON_GetTopLevelValue(const cJSON * j) {
             if (!cJSON_HasObjectItem(j, "minAndMax")) { cJSON_DeleteTopLevel(x); return NULL; }
             if (cJSON_HasObjectItem(j, "minAndMax")) {
                 if (!cJSON_IsArray(cJSON_GetObjectItemCaseSensitive(j, "minAndMax"))) { cJSON_DeleteTopLevel(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "minAndMax")) < 1) { cJSON_DeleteTopLevel(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "minAndMax")) > 4) { cJSON_DeleteTopLevel(x); return NULL; }
                 list_t * x1 = list_create(false, NULL);
                 if (NULL != x1) {
                     cJSON * e1 = NULL;
@@ -105,6 +108,7 @@ struct TopLevel * cJSON_GetTopLevelValue(const cJSON * j) {
             if (!cJSON_HasObjectItem(j, "minOnly")) { cJSON_DeleteTopLevel(x); return NULL; }
             if (cJSON_HasObjectItem(j, "minOnly")) {
                 if (!cJSON_IsArray(cJSON_GetObjectItemCaseSensitive(j, "minOnly"))) { cJSON_DeleteTopLevel(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "minOnly")) < 2) { cJSON_DeleteTopLevel(x); return NULL; }
                 list_t * x1 = list_create(false, NULL);
                 if (NULL != x1) {
                     cJSON * e1 = NULL;
@@ -137,6 +141,7 @@ struct TopLevel * cJSON_GetTopLevelValue(const cJSON * j) {
             if (!cJSON_HasObjectItem(j, "unionItems")) { cJSON_DeleteTopLevel(x); return NULL; }
             if (cJSON_HasObjectItem(j, "unionItems")) {
                 if (!cJSON_IsArray(cJSON_GetObjectItemCaseSensitive(j, "unionItems"))) { cJSON_DeleteTopLevel(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "unionItems")) < 2) { cJSON_DeleteTopLevel(x); return NULL; }
                 list_t * x1 = list_create(false, NULL);
                 if (NULL != x1) {
                     cJSON * e1 = NULL;
diff --git a/base/schema-cjson/test/inputs/schema/vega-lite.schema/default/TopLevel.c b/head/schema-cjson/test/inputs/schema/vega-lite.schema/default/TopLevel.c
index 606cf98..1d3f8a7 100644
--- a/base/schema-cjson/test/inputs/schema/vega-lite.schema/default/TopLevel.c
+++ b/head/schema-cjson/test/inputs/schema/vega-lite.schema/default/TopLevel.c
@@ -9541,6 +9541,7 @@ struct BinParams * cJSON_GetBinParamsValue(const cJSON * j) {
             }
             if (cJSON_HasObjectItem(j, "divide")) {
                 if (!cJSON_IsArray(cJSON_GetObjectItemCaseSensitive(j, "divide"))) { cJSON_DeleteBinParams(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "divide")) < 1) { cJSON_DeleteBinParams(x); return NULL; }
                 list_t * x1 = list_create(false, NULL);
                 if (NULL != x1) {
                     cJSON * e1 = NULL;
@@ -9557,6 +9558,8 @@ struct BinParams * cJSON_GetBinParamsValue(const cJSON * j) {
             }
             if (cJSON_HasObjectItem(j, "extent")) {
                 if (!cJSON_IsArray(cJSON_GetObjectItemCaseSensitive(j, "extent"))) { cJSON_DeleteBinParams(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "extent")) < 2) { cJSON_DeleteBinParams(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "extent")) > 2) { cJSON_DeleteBinParams(x); return NULL; }
                 list_t * x1 = list_create(false, NULL);
                 if (NULL != x1) {
                     cJSON * e1 = NULL;
@@ -9597,6 +9600,7 @@ struct BinParams * cJSON_GetBinParamsValue(const cJSON * j) {
             }
             if (cJSON_HasObjectItem(j, "steps")) {
                 if (!cJSON_IsArray(cJSON_GetObjectItemCaseSensitive(j, "steps"))) { cJSON_DeleteBinParams(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "steps")) < 1) { cJSON_DeleteBinParams(x); return NULL; }
                 list_t * x1 = list_create(false, NULL);
                 if (NULL != x1) {
                     cJSON * e1 = NULL;
@@ -10086,6 +10090,8 @@ struct Predicate * cJSON_GetPredicateValue(const cJSON * j) {
             }
             if (cJSON_HasObjectItem(j, "range")) {
                 if (!cJSON_IsArray(cJSON_GetObjectItemCaseSensitive(j, "range"))) { cJSON_DeletePredicate(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "range")) < 2) { cJSON_DeletePredicate(x); return NULL; }
+                if (cJSON_GetArraySize(cJSON_GetObjectItemCaseSensitive(j, "range")) > 2) { cJSON_DeletePredicate(x); return NULL; }
                 list_t * x1 = list_create(false, NULL);
                 if (NULL != x1) {
                     cJSON * e1 = NULL;
