Fix use-after-free in message center.
MessageCenterImpl::OnBlockingStateChanged() was unsafe. On desktop, MarkSinglePopupAsShown removes/deletes that notification since there is no message center bubble. The function then references the notification again, via the |blocked| list. Instead of a list of weak Notification pointers, |blocked| should be a list of notification IDs. This bug was revealed by (although not directly caused by) removing the NotificationChangeQueue. Bug: 816374 Change-Id: I9ebc21ae95b18bf167c52911c7c0e1eacaf6e06d Reviewed-on: https://chromium-review.googlesource.com/938676Reviewed-by:Yoshiki Iguchi <yoshiki@chromium.org> Commit-Queue: Evan Stade <estade@chromium.org> Cr-Commit-Position: refs/heads/master@{#539497}
Showing
Please register or sign in to comment