Commit 649aeb12 authored by Michael Meskes's avatar Michael Meskes

Cope with indicator arrays that do not have the correct length.

Patch by: "Rader, David" <davidr@openscg.com>
parent 255f1418
...@@ -609,7 +609,17 @@ ECPGdump_a_struct(FILE *o, const char *name, const char *ind_name, char *arrsize ...@@ -609,7 +609,17 @@ ECPGdump_a_struct(FILE *o, const char *name, const char *ind_name, char *arrsize
prefix, ind_prefix, arrsize, type->struct_sizeof, prefix, ind_prefix, arrsize, type->struct_sizeof,
(ind_p != NULL) ? ind_type->struct_sizeof : NULL); (ind_p != NULL) ? ind_type->struct_sizeof : NULL);
if (ind_p != NULL && ind_p != &struct_no_indicator) if (ind_p != NULL && ind_p != &struct_no_indicator)
{
ind_p = ind_p->next; ind_p = ind_p->next;
if (ind_p == NULL && p->next != NULL) {
mmerror(PARSE_ERROR, ET_WARNING, "indicator struct \"%s\" has too few members", ind_name);
ind_p = &struct_no_indicator;
}
}
}
if (ind_type != NULL && ind_p != NULL && ind_p != &struct_no_indicator) {
mmerror(PARSE_ERROR, ET_WARNING, "indicator struct \"%s\" has too many members", ind_name);
} }
free(pbuf); free(pbuf);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment