Skip to content

Commit 5b917b6

Browse files
asudarsaagainull
authored andcommitted
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]> Original commit: KhronosGroup/SPIRV-LLVM-Translator@4355f70
1 parent 362d840 commit 5b917b6

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

llvm-spirv/lib/SPIRV/SPIRVUtil.cpp

+13-10
Original file line numberDiff line numberDiff line change
@@ -478,19 +478,22 @@ bool oclIsBuiltin(StringRef Name, StringRef &DemangledName, bool IsCpp) {
478478
size_t DemangledNameLenStart = NameSpaceStart + 11;
479479
size_t Start = Name.find_first_not_of("0123456789", DemangledNameLenStart);
480480
size_t Len = 0;
481-
if (Name.substr(DemangledNameLenStart, Start - DemangledNameLenStart)
482-
.getAsInteger(10, Len)) {
483-
SPIRVDBG(errs() << "Error in extracting integer value");
484-
return false;
481+
if (!Name.substr(DemangledNameLenStart, Start - DemangledNameLenStart)
482+
.getAsInteger(10, Len)) {
483+
DemangledName = Name.substr(Start, Len);
484+
return true;
485485
}
486+
SPIRVDBG(errs() << "Error in extracting integer value");
487+
return false;
488+
}
489+
size_t Start = Name.find_first_not_of("0123456789", 2);
490+
size_t Len = 0;
491+
if (!Name.substr(2, Start - 2).getAsInteger(10, Len)) {
486492
DemangledName = Name.substr(Start, Len);
487-
} else {
488-
size_t Start = Name.find_first_not_of("0123456789", 2);
489-
size_t Len = 0;
490-
Name.substr(2, Start - 2).getAsInteger(10, Len);
491-
DemangledName = Name.substr(Start, Len);
493+
return true;
492494
}
493-
return DemangledName.size() != 0;
495+
SPIRVDBG(errs() << "Error in extracting integer value");
496+
return false;
494497
}
495498

496499
// Check if a mangled type Name is unsigned

0 commit comments

Comments
 (0)