summaryrefslogtreecommitdiff
path: root/chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_auth.c
diff options
context:
space:
mode:
authorRaymond Toy <rtoy@chromium.org>2020-03-16 18:26:41 +0000
committerMichael BrĂ¼ning <michael.bruning@qt.io>2020-03-24 08:38:10 +0000
commit9aabebeb69be9c62ded34e81217f648b0fa1c7d2 (patch)
tree8993063eb556201fff9557790a6cde32cd187eca /chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_auth.c
parent2a9a1c057d8984ba9fc25e2dd8b5fe6c58e5ea3b (diff)
downloadqtwebengine-chromium-9aabebeb69be9c62ded34e81217f648b0fa1c7d2.tar.gz
[Backport] CVE-2020-6449: Use after free in audio.
Manual backport of patch originally reviewed on: https://chromium-review.googlesource.com/c/chromium/src/+/2098260 https://chromium-review.googlesource.com/c/chromium/src/+/2104992 Make finished_source_handlers_ hold scoped_refptrs Previously, finished_source_handlers_ held raw pointers to AudioHandlers and assumed that active_source_handlers_ also had a copy. But when the context goes away, active_source_handlers_ would be cleared, but not finished_source_handlers_, leaving pointers to deleted objects. So do two things: 1. Change finished_source_handlers_ to hold scoped_refptrs to manage lifetime of the objects 2. Clear finished_source_handler_ in ClearHandlersToBeDeleted() Either of these fix the repro case, but let's do both. Don't want to leaving dangling objects. Manually tested the repro case which no longer reproduces. Bug: 1059686 Change-Id: I11e999e6d7243351771d9530ceb924bd635578fd Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Diffstat (limited to 'chromium/third_party/usrsctp/usrsctplib/usrsctplib/netinet/sctp_auth.c')
0 files changed, 0 insertions, 0 deletions