)]}'
{
  "commit": "3bbaaf584c20363177fcce1938dfd9b9123bb4b7",
  "tree": "718fd9f75c511dbb9837ec3f53a3cb1e9000af61",
  "parents": [
    "448f04c7bb84a404a099d27dac192317ab221f85"
  ],
  "author": {
    "name": "bnc",
    "email": "bnc@google.com",
    "time": "Thu Jan 23 11:04:54 2020 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Jan 23 11:05:34 2020 -0800"
  },
  "message": "gfe-relnote: Fix invalid downcast.\n\nQuicTransportServerSessionTest fails on UBSAN builds in Chromium, see\nhttps://crrev.com/c/2015242.\n\nQuicTransportServerSession initializes |crypto_stream_| in the constructor using\nCreateCryptoServerStream(), which since cr/290819354 might return a\nTlsServerHandshaker, which is a derived class of QuicCryptoServerStreamBase but\nnot of QuicCryptoServerStream.  Hence the downcast fails in\nQuicTransportServerSessionTest constructor.  Fortunately\nQuicTransportServerSessionTest does not need a QuicCryptoServerStream, only a\nQuicCryptoServerStreamBase: it calls OnSuccessfulVersionNegotiation() which is a\nQuicCryptoStream method, and passes it to  HandshakeWithFakeClient() which takes\na QuicCryptoServerStreamBase*.\nPiperOrigin-RevId: 291203032\nChange-Id: I7b3ec41c64eeb46074ee6aa98bff7bd132a20daa\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c02326457ff6899c8bda1e1b765d4ba721819913",
      "old_mode": 33188,
      "old_path": "quic/quic_transport/quic_transport_server_session.h",
      "new_id": "e7563609a57837b2ad1e01e4238969958f6c3825",
      "new_mode": 33188,
      "new_path": "quic/quic_transport/quic_transport_server_session.h"
    },
    {
      "type": "modify",
      "old_id": "f74fb5347eb7605c8c1bc6372f6516bb3d80f946",
      "old_mode": 33188,
      "old_path": "quic/quic_transport/quic_transport_server_session_test.cc",
      "new_id": "2f0a0e848eef3bf93af02f4db2c4d05c24b05e9b",
      "new_mode": 33188,
      "new_path": "quic/quic_transport/quic_transport_server_session_test.cc"
    }
  ]
}
