Skip to content

Commit 4355f70

Browse files
authored
Fix static analyzer issues (#1865)
This change fixes the following issues: Unchecked return value Explicit NULL dereferenced Thanks Signed-off-by: Arvind Sudarsanam <[email protected]>
1 parent 9a1cce0 commit 4355f70

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

lib/SPIRV/SPIRVUtil.cpp

+13-10
Original file line numberDiff line numberDiff line change
@@ -476,19 +476,22 @@ bool oclIsBuiltin(StringRef Name, StringRef &DemangledName, bool IsCpp) {
476476
size_t DemangledNameLenStart = NameSpaceStart + 11;
477477
size_t Start = Name.find_first_not_of("0123456789", DemangledNameLenStart);
478478
size_t Len = 0;
479-
if (Name.substr(DemangledNameLenStart, Start - DemangledNameLenStart)
480-
.getAsInteger(10, Len)) {
481-
SPIRVDBG(errs() << "Error in extracting integer value");
482-
return false;
479+
if (!Name.substr(DemangledNameLenStart, Start - DemangledNameLenStart)
480+
.getAsInteger(10, Len)) {
481+
DemangledName = Name.substr(Start, Len);
482+
return true;
483483
}
484+
SPIRVDBG(errs() << "Error in extracting integer value");
485+
return false;
486+
}
487+
size_t Start = Name.find_first_not_of("0123456789", 2);
488+
size_t Len = 0;
489+
if (!Name.substr(2, Start - 2).getAsInteger(10, Len)) {
484490
DemangledName = Name.substr(Start, Len);
485-
} else {
486-
size_t Start = Name.find_first_not_of("0123456789", 2);
487-
size_t Len = 0;
488-
Name.substr(2, Start - 2).getAsInteger(10, Len);
489-
DemangledName = Name.substr(Start, Len);
491+
return true;
490492
}
491-
return true;
493+
SPIRVDBG(errs() << "Error in extracting integer value");
494+
return false;
492495
}
493496

494497
// Check if a mangled type Name is unsigned

0 commit comments

Comments
 (0)