Skip to content

Commit 930710e

Browse files
authored
[SYCL][NFC] Fix static code analysis concerns (#2822)
Found via a static-analysis tool: Inside VisitTemplateTemplateArgument() TemplateDecl *TD = TA.getAsTemplate().getAsTemplateDecl(); --->Pointer 'TD' returned from call to function 'getAsTemplateDecl' may be NULL TemplateParameterList *TemplateParams = TD->getTemplateParameters(); --> will be dereferenced here This patch fixes null pointer dereference issues in SemaSYCL.cpp file by adding assert(). Signed-off-by: Soumi Manna <[email protected]>
1 parent c6b9973 commit 930710e

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

clang/lib/Sema/SemaSYCL.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3013,6 +3013,7 @@ class SYCLKernelNameTypeVisitor
30133013

30143014
void VisitTemplateTemplateArgument(const TemplateArgument &TA) {
30153015
TemplateDecl *TD = TA.getAsTemplate().getAsTemplateDecl();
3016+
assert(TD && "template declaration must be available");
30163017
TemplateParameterList *TemplateParams = TD->getTemplateParameters();
30173018
for (NamedDecl *P : *TemplateParams) {
30183019
if (NonTypeTemplateParmDecl *TemplateParam =
@@ -3594,6 +3595,7 @@ class SYCLFwdDeclEmitter
35943595
// template class Foo specialized by class Baz<Bar>, not a template
35953596
// class template <template <typename> class> class T as it should.
35963597
TemplateDecl *TD = TA.getAsTemplate().getAsTemplateDecl();
3598+
assert(TD && "template declaration must be available");
35973599
TemplateParameterList *TemplateParams = TD->getTemplateParameters();
35983600
for (NamedDecl *P : *TemplateParams) {
35993601
// If template template parameter type has an enum value template

0 commit comments

Comments
 (0)