aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChih-hung Hsieh <chh@google.com>2023-01-17 20:55:25 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-01-17 20:55:25 +0000
commita07a2a5f7fe8a1823005c996124efa301563cfd9 (patch)
treea85f0aebda6323f25951bba64272fccba9821150
parent0a7cfd9bd6081e54934e3378781c5e345190c09e (diff)
parent8a4db14e941c71c711dfe0c1f4fc2c4c19382e88 (diff)
downloadslang-a07a2a5f7fe8a1823005c996124efa301563cfd9.tar.gz
Merge "Suppress nullptr dereference warnings." am: e8c3da7688 am: 8a4db14e94
Original change: https://android-review.googlesource.com/c/platform/frameworks/compile/slang/+/2367029 Change-Id: Ia55bf7eb2186963a859e3d4b9f973fc815949959 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--slang_rs_export_type.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/slang_rs_export_type.cpp b/slang_rs_export_type.cpp
index afeb6c5..ffe8ffc 100644
--- a/slang_rs_export_type.cpp
+++ b/slang_rs_export_type.cpp
@@ -333,6 +333,8 @@ static const clang::Type *TypeExportableHelper(
//
// TODO(zonr/srhines): allow bit fields of size 8, 16, 32
if (FD->isBitField()) {
+ // Context can be null from NormalizeType?
+ slangAssert(Context);
Context->ReportError(
FD->getLocation(),
"bit fields are not able to be exported: '%0.%1'")
@@ -415,6 +417,8 @@ static const clang::Type *TypeExportableHelper(
case clang::Type::Enum: {
// FIXME: We currently convert enums to integers, rather than reflecting
// a more complete (and nicer type-safe Java version).
+ // Context can be null from NormalizeType?
+ slangAssert(Context);
return Context->getASTContext().IntTy.getTypePtr();
}
default: {
@@ -797,6 +801,8 @@ llvm::StringRef RSExportType::GetTypeName(const clang::Type* T) {
const clang::PointerType *P = static_cast<const clang::PointerType*>(CTI);
const clang::Type *PT = GetPointeeType(P);
llvm::StringRef PointeeName;
+ // Passing nullptr as Context to NormalizeType can cause TypeExportableHelper
+ // to dereference a null Context?
if (NormalizeType(PT, PointeeName, nullptr, nullptr,
NotLegacyKernelArgument)) {
char *Name = new char[ 1 /* * */ + PointeeName.size() + 1 ];