[DanglingPtr] Fix dangling pointer in IPCFuzzingTest
This CL resets `other_` before IPC::Channel is destroyed. Bug: 1291138 Change-Id: I06f1d85232cd2488eec5c8875ef2c58c5b6d064a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5123798 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Hyowon Kim <hyowon@igalia.com> Cr-Commit-Position: refs/heads/main@{#1238914}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
b170957938
commit
3c8bc7f1ed
@ -143,11 +143,11 @@ TEST(IPCMessageIntegrity, DISABLED_ReadVectorTooLarge3) {
|
||||
class SimpleListener : public IPC::Listener {
|
||||
public:
|
||||
SimpleListener() : other_(nullptr) {}
|
||||
void Init(IPC::Sender* s) {
|
||||
other_ = s;
|
||||
}
|
||||
void Init(IPC::Sender* s) { other_ = s; }
|
||||
void Reset() { other_ = nullptr; }
|
||||
|
||||
protected:
|
||||
raw_ptr<IPC::Sender, DanglingUntriaged> other_;
|
||||
raw_ptr<IPC::Sender> other_;
|
||||
};
|
||||
|
||||
enum {
|
||||
@ -298,6 +298,7 @@ TEST_F(IPCFuzzingTest, SanityTest) {
|
||||
sender()->Send(msg);
|
||||
EXPECT_TRUE(listener.ExpectMessage(value, MsgClassSI::ID));
|
||||
|
||||
listener.Reset();
|
||||
EXPECT_TRUE(WaitForClientShutdown());
|
||||
DestroyChannel();
|
||||
}
|
||||
@ -323,6 +324,7 @@ TEST_F(IPCFuzzingTest, MsgBadPayloadShort) {
|
||||
sender()->Send(msg);
|
||||
EXPECT_TRUE(listener.ExpectMessage(1, MsgClassSI::ID));
|
||||
|
||||
listener.Reset();
|
||||
EXPECT_TRUE(WaitForClientShutdown());
|
||||
DestroyChannel();
|
||||
}
|
||||
@ -354,6 +356,7 @@ TEST_F(IPCFuzzingTest, MsgBadPayloadArgs) {
|
||||
sender()->Send(msg);
|
||||
EXPECT_TRUE(listener.ExpectMessage(3, MsgClassIS::ID));
|
||||
|
||||
listener.Reset();
|
||||
EXPECT_TRUE(WaitForClientShutdown());
|
||||
DestroyChannel();
|
||||
}
|
||||
|
Reference in New Issue
Block a user