[PATCH 2/5] widl: Increase max import depth.
Józef Kucia
jkucia at codeweavers.com
Fri Jan 26 15:09:03 CST 2018
Signed-off-by: Józef Kucia <jkucia at 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;
--
2.13.6
More information about the wine-devel
mailing list