)]}'
{
  "commit": "4ff606217c21e4498176a096566278466a758aa5",
  "tree": "be3317985d71801c08c716f221f4b638f65e46eb",
  "parents": [
    "23e8cd84d63aaf56837e9ba7dd48fa5a93087877"
  ],
  "author": {
    "name": "bnc",
    "email": "bnc@google.com",
    "time": "Fri Aug 09 18:55:45 2019 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Aug 09 18:56:14 2019 -0700"
  },
  "message": "Ignore read data on PendingStream after invalid type byte is received.\n\nThis bug has been discovered by Chromium\u0027s ClusterFuzz at\nhttps://crbug.com/969391.  I locally verified that this CL fixes the crash\nwith that particular fuzzer input.\n\nhttps://quicwg.org/base-drafts/draft-ietf-quic-transport.html#frame-stop-sending\nnotes that a STOP_SENDING frame communicate that \"incoming data is being\ndiscarded on receipt\".  This CL adds a single line to make PendingStream\nactually discard incoming data.  Before this change, PendingStream could be\ntricked into reading further data bytes by retransmitting the original stream\nframe, which could have resulted in creating and activating a unidirectional\nstream.\n\ngfe-relnote: n/a, change in QUIC v99 only.\nPiperOrigin-RevId: 262674708\nChange-Id: Icaf0e700711b7220b36e595deb95620cac1d89af\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "baa9c85947c09a0c65f149e2e3ef16d987044d00",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_session.cc",
      "new_id": "90560ad8b1c4f11f14f6467564485d90f8323977",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_session.cc"
    },
    {
      "type": "modify",
      "old_id": "6a0b96e60cbec390b823ff7ebfdd6611cd6504f8",
      "old_mode": 33188,
      "old_path": "quic/core/http/quic_spdy_session_test.cc",
      "new_id": "a9bcfcc68b1f6046069d578991073906519af3b6",
      "new_mode": 33188,
      "new_path": "quic/core/http/quic_spdy_session_test.cc"
    },
    {
      "type": "modify",
      "old_id": "875ec22febab956f45fa49af6c9472d8636a574d",
      "old_mode": 33188,
      "old_path": "quic/core/quic_session.cc",
      "new_id": "ac4ac9b4533d7966a1b665bf28021009b03066bb",
      "new_mode": 33188,
      "new_path": "quic/core/quic_session.cc"
    },
    {
      "type": "modify",
      "old_id": "4d460d324b0c4ecb2b4ccc14b53ad65d8fac22a9",
      "old_mode": 33188,
      "old_path": "quic/core/quic_stream.cc",
      "new_id": "eb8b96ba491194c0ae930dd82c8337b02f21c4cb",
      "new_mode": 33188,
      "new_path": "quic/core/quic_stream.cc"
    },
    {
      "type": "modify",
      "old_id": "b74745199a97f8015a5676c774d7a11d2e921e45",
      "old_mode": 33188,
      "old_path": "quic/core/quic_stream.h",
      "new_id": "c8e5012767aac71a8d2ef0c75788b30fdc75f620",
      "new_mode": 33188,
      "new_path": "quic/core/quic_stream.h"
    }
  ]
}
