summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/slang/check.cpp4
-rw-r--r--source/slang/slang.cpp3
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;
}