llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: None (smanna12) <details> <summary>Changes</summary> This patch adds a self-assignment check to the ObjCMethodList assignment operator to prevent issues when an object is assigned to itself. The fix ensures the integrity of the object's data during such assignments. --- Full diff: https://github.com/llvm/llvm-project/pull/97933.diff 1 Files Affected: - (modified) clang/include/clang/Sema/ObjCMethodList.h (+4-2) ``````````diff diff --git a/clang/include/clang/Sema/ObjCMethodList.h b/clang/include/clang/Sema/ObjCMethodList.h index 9e65e0d8e00af1..c4465f6ab59fd7 100644 --- a/clang/include/clang/Sema/ObjCMethodList.h +++ b/clang/include/clang/Sema/ObjCMethodList.h @@ -37,8 +37,10 @@ struct ObjCMethodList { NextAndExtraBits(L.NextAndExtraBits) {} ObjCMethodList &operator=(const ObjCMethodList &L) { - MethodAndHasMoreThanOneDecl = L.MethodAndHasMoreThanOneDecl; - NextAndExtraBits = L.NextAndExtraBits; + if (this != &L) { // Check for self-assignment + MethodAndHasMoreThanOneDecl = L.MethodAndHasMoreThanOneDecl; + NextAndExtraBits = L.NextAndExtraBits; + } return *this; } `````````` </details> https://github.com/llvm/llvm-project/pull/97933 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits