-
Notifications
You must be signed in to change notification settings - Fork 6k
fix use_of_uninitialized_value in message_loop_task_queues.cc #55520
Conversation
This issue was found with memory sanitizer.
Commit f2f09b6 introduced a change that leads to use-after-free condition.
In function MessageLoopTaskQueues::GetNextTaskToRun:
1) Call is made to PeekNextTaskUnlocked(queue_id);. Returned value contains a reference to to an object of const DelayedTask& taken from an std::queue container as returned by primary_task_queue_.top().
2) Variable TaskSource::TopTask top now contains a reference to this object.
3) Function queue_entries_.at(top.task_queue_id)->task_source->PopTask(...) which in turn calls pop() method on std::queue.
4) Object of type DelayedTask on top of the queue gets deleted.
5) top.task.GetTaskSourceGrade() is called later with top.task refering to an already deleted object.
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
…155952) flutter/engine@b466a0d...e61bc85 2024-09-30 [email protected] fix use_of_uninitialized_value in message_loop_task_queues.cc (flutter/engine#55520) 2024-09-30 [email protected] iOS: Migrate FlutterEngineGroup to ARC (flutter/engine#55503) 2024-09-30 [email protected] Reland [skwasm] Scene builder optimizations for platform view placement (flutter/engine#55468) 2024-09-30 [email protected] Roll Dart SDK from c55ae50d619a to 79863e31de87 (1 revision) (flutter/engine#55525) 2024-09-30 [email protected] Roll Skia from 06721a724831 to dfeeb199b226 (2 revisions) (flutter/engine#55524) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…lutter#155952) flutter/engine@b466a0d...e61bc85 2024-09-30 [email protected] fix use_of_uninitialized_value in message_loop_task_queues.cc (flutter/engine#55520) 2024-09-30 [email protected] iOS: Migrate FlutterEngineGroup to ARC (flutter/engine#55503) 2024-09-30 [email protected] Reland [skwasm] Scene builder optimizations for platform view placement (flutter/engine#55468) 2024-09-30 [email protected] Roll Dart SDK from c55ae50d619a to 79863e31de87 (1 revision) (flutter/engine#55525) 2024-09-30 [email protected] Roll Skia from 06721a724831 to dfeeb199b226 (2 revisions) (flutter/engine#55524) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
This issue was found with memory sanitizer.
Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.
List which issues are fixed by this PR. You must list at least one issue.
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.