diff --git a/test/fuzzers/flexfec_header_reader_fuzzer.cc b/test/fuzzers/flexfec_header_reader_fuzzer.cc
index 7d710d9..854cc8b 100644
--- a/test/fuzzers/flexfec_header_reader_fuzzer.cc
+++ b/test/fuzzers/flexfec_header_reader_fuzzer.cc
@@ -27,7 +27,7 @@
       std::min(size, static_cast<size_t>(IP_PACKET_SIZE));
   packet.pkt->data.SetSize(packet_size);
   packet.pkt->data.EnsureCapacity(IP_PACKET_SIZE);
-  memcpy(packet.pkt->data.data(), data, packet_size);
+  memcpy(packet.pkt->data.MutableData(), data, packet_size);
 
   FlexfecHeaderReader flexfec_reader;
   flexfec_reader.ReadFecHeader(&packet);
diff --git a/test/fuzzers/forward_error_correction_fuzzer.cc b/test/fuzzers/forward_error_correction_fuzzer.cc
index 09009e1..04a459b 100644
--- a/test/fuzzers/forward_error_correction_fuzzer.cc
+++ b/test/fuzzers/forward_error_correction_fuzzer.cc
@@ -57,7 +57,7 @@
     recovered_packet->pkt = rtc::scoped_refptr<ForwardErrorCorrection::Packet>(
         new ForwardErrorCorrection::Packet());
     recovered_packet->pkt->data.SetSize(kPacketSize);
-    memset(recovered_packet->pkt->data.data(), 0, kPacketSize);
+    memset(recovered_packet->pkt->data.MutableData(), 0, kPacketSize);
     recovered_packet->ssrc = kMediaSsrc;
     recovered_packet->seq_num = media_seqnum++;
     recovered_packets.emplace_back(recovered_packet);
@@ -69,7 +69,7 @@
       new ForwardErrorCorrection::Packet());
   received_packet.pkt->data.SetSize(kPacketSize);
   received_packet.pkt->data.EnsureCapacity(IP_PACKET_SIZE);
-  uint8_t* packet_buffer = received_packet.pkt->data.data();
+  uint8_t* packet_buffer = received_packet.pkt->data.MutableData();
   uint8_t reordering;
   uint16_t seq_num_diff;
   uint8_t packet_type;
diff --git a/test/fuzzers/ulpfec_generator_fuzzer.cc b/test/fuzzers/ulpfec_generator_fuzzer.cc
index 9426ef0..43d9450 100644
--- a/test/fuzzers/ulpfec_generator_fuzzer.cc
+++ b/test/fuzzers/ulpfec_generator_fuzzer.cc
@@ -45,9 +45,9 @@
     packet.EnsureCapacity(IP_PACKET_SIZE);
     // Write a valid parsable header (version = 2, no padding, no extensions,
     // no CSRCs).
-    ByteWriter<uint8_t>::WriteBigEndian(&packet[0], 2 << 6);
+    ByteWriter<uint8_t>::WriteBigEndian(packet.MutableData(), 2 << 6);
     // Make sure sequence numbers are increasing.
-    ByteWriter<uint16_t>::WriteBigEndian(&packet[2], seq_num++);
+    ByteWriter<uint16_t>::WriteBigEndian(packet.MutableData() + 2, seq_num++);
     i += payload_size + rtp_header_length;
     const bool protect = data[i++] % 2 == 1;
 
diff --git a/test/fuzzers/ulpfec_header_reader_fuzzer.cc b/test/fuzzers/ulpfec_header_reader_fuzzer.cc
index 570fa32..243cb4e 100644
--- a/test/fuzzers/ulpfec_header_reader_fuzzer.cc
+++ b/test/fuzzers/ulpfec_header_reader_fuzzer.cc
@@ -27,7 +27,7 @@
       std::min(size, static_cast<size_t>(IP_PACKET_SIZE));
   packet.pkt->data.SetSize(packet_size);
   packet.pkt->data.EnsureCapacity(IP_PACKET_SIZE);
-  memcpy(packet.pkt->data.data(), data, packet_size);
+  memcpy(packet.pkt->data.MutableData(), data, packet_size);
 
   UlpfecHeaderReader ulpfec_reader;
   ulpfec_reader.ReadFecHeader(&packet);
