Signed-off-by: Józef Kucia jkucia@codeweavers.com ---
Fixes memory corruption when processing winedxgi.idl after changes in one of the next patches.
--- tools/widl/parser.l | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/tools/widl/parser.l b/tools/widl/parser.l index 6520ce72e6b3..6afc3e7ef19c 100644 --- a/tools/widl/parser.l +++ b/tools/widl/parser.l @@ -78,7 +78,7 @@ static int attr_token(const char *kw);
static warning_list_t *disabled_warnings = NULL;
-#define MAX_IMPORT_DEPTH 10 +#define MAX_IMPORT_DEPTH 20 struct { YY_BUFFER_STATE state; char *input_name; @@ -524,6 +524,9 @@ int do_import(char *fname) else if (!(path = wpp_find_include( fname, input_name ))) error_loc("Unable to open include file %s\n", fname);
+ if (import_stack_ptr == MAX_IMPORT_DEPTH) + error_loc("Exceeded max import depth\n"); + import_stack[ptr].temp_name = temp_name; import_stack[ptr].input_name = input_name; import_stack[ptr].line_number = line_number;