Skip to content

Commit e4aa98b

Browse files
committed
Fix merge error
1 parent 9d10465 commit e4aa98b

File tree

1 file changed

+4
-16
lines changed

1 file changed

+4
-16
lines changed

clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -196,9 +196,7 @@ std::optional<bool> isUncountedPtr(const QualType T) {
196196
return false;
197197
}
198198

199-
std::optional<bool> isUnsafePtr(const Type *T) {
200-
assert(T);
201-
199+
std::optional<bool> isUnsafePtr(const QualType T) {
202200
if (T->isPointerType() || T->isReferenceType()) {
203201
if (auto *CXXRD = T->getPointeeCXXRecordDecl()) {
204202
return isUncounted(CXXRD) || isUnchecked(CXXRD);
@@ -228,23 +226,13 @@ std::optional<bool> isGetterOfSafePtr(const CXXMethodDecl *M) {
228226
// Ref<T> -> T conversion
229227
// FIXME: Currently allowing any Ref<T> -> whatever cast.
230228
if (isRefType(className)) {
231-
if (auto *maybeRefToRawOperator = dyn_cast<CXXConversionDecl>(M)) {
232-
if (auto *targetConversionType =
233-
maybeRefToRawOperator->getConversionType().getTypePtrOrNull()) {
234-
return isUnsafePtr(targetConversionType);
235-
}
236-
}
229+
if (auto *maybeRefToRawOperator = dyn_cast<CXXConversionDecl>(M))
230+
return isUnsafePtr(maybeRefToRawOperator->getConversionType());
237231
}
238232

239233
if (isCheckedPtr(className)) {
240-
if (auto *maybeRefToRawOperator = dyn_cast<CXXConversionDecl>(M)) {
241-
if (auto *targetConversionType =
242-
maybeRefToRawOperator->getConversionType().getTypePtrOrNull()) {
243-
return isUnsafePtr(targetConversionType);
244-
}
245-
}
246234
if (auto *maybeRefToRawOperator = dyn_cast<CXXConversionDecl>(M))
247-
return isUncountedPtr(maybeRefToRawOperator->getConversionType());
235+
return isUnsafePtr(maybeRefToRawOperator->getConversionType());
248236
}
249237
}
250238
return false;

0 commit comments

Comments
 (0)