diff options
| -rw-r--r-- | source/slang/check.cpp | 4 | ||||
| -rw-r--r-- | source/slang/slang.cpp | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/source/slang/check.cpp b/source/slang/check.cpp index e100cbd1d..1b17ec49f 100644 --- a/source/slang/check.cpp +++ b/source/slang/check.cpp @@ -6606,6 +6606,10 @@ namespace Slang { if (auto typeParamRef = memberRef.As<GenericTypeParamDecl>()) { + if (aa >= context.argCount) + { + return false; + } auto arg = context.getArg(aa++); TypeExp typeExp; diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index 359848d65..e332ef588 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -912,6 +912,9 @@ RefPtr<ModuleDecl> CompileRequest::loadModule( if( errorCountAfter != errorCountBefore ) { mSink.diagnose(srcLoc, Diagnostics::errorInImportedModule); + } + if (errorCountAfter) + { // Something went wrong during the parsing, so we should bail out. return nullptr; } |
