@@ -34,12 +34,12 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
3434 };
3535 // clang-format on
3636
37- auto * packet = RTC::SCTP::Packet::Parse (buffer, sizeof (buffer));
37+ std::unique_ptr<RTC::SCTP::Packet> packet{ RTC::SCTP::Packet::Parse (buffer, sizeof (buffer)) } ;
3838
3939 // NOTE: Obviously the Checksum CRC32C validation fails since Checksum is
4040 // totally random.
4141 CHECK_SCTP_PACKET (
42- /* packet*/ packet,
42+ /* packet*/ packet. get () ,
4343 /* buffer*/ buffer,
4444 /* bufferLength*/ sizeof (buffer),
4545 /* length*/ 12 ,
@@ -59,7 +59,7 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
5959 std::memset (buffer, 0x00 , sizeof (buffer));
6060
6161 CHECK_SCTP_PACKET (
62- /* packet*/ packet,
62+ /* packet*/ packet. get () ,
6363 /* buffer*/ sctpCommon::SerializeBuffer,
6464 /* bufferLength*/ sizeof (sctpCommon::SerializeBuffer),
6565 /* length*/ 12 ,
@@ -75,7 +75,7 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
7575 /* Insert CRC32C checksum. */
7676
7777 CHECK_SCTP_PACKET (
78- /* packet*/ packet,
78+ /* packet*/ packet. get () ,
7979 /* buffer*/ sctpCommon::SerializeBuffer,
8080 /* bufferLength*/ sizeof (sctpCommon::SerializeBuffer),
8181 /* length*/ 12 ,
@@ -88,14 +88,12 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
8888
8989 /* Clone it. */
9090
91- auto * clonedPacket = packet->Clone (sctpCommon::CloneBuffer, sizeof (sctpCommon::CloneBuffer));
91+ packet. reset (packet ->Clone (sctpCommon::CloneBuffer, sizeof (sctpCommon::CloneBuffer) ));
9292
9393 std::memset (sctpCommon::SerializeBuffer, 0x00 , sizeof (sctpCommon::SerializeBuffer));
9494
95- delete packet;
96-
9795 CHECK_SCTP_PACKET (
98- /* packet*/ clonedPacket ,
96+ /* packet*/ packet. get () ,
9997 /* buffer*/ sctpCommon::CloneBuffer,
10098 /* bufferLength*/ sizeof (sctpCommon::CloneBuffer),
10199 /* length*/ 12 ,
@@ -106,9 +104,7 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
106104 /* hasValidCrc32cChecksum*/ false ,
107105 /* chunksCount*/ 0 );
108106
109- REQUIRE (clonedPacket->GetFirstChunkOfType <RTC::SCTP::DataChunk>() == nullptr );
110-
111- delete clonedPacket;
107+ REQUIRE (packet->GetFirstChunkOfType <RTC::SCTP::DataChunk>() == nullptr );
112108 }
113109
114110 SECTION (" Parse() with Chunks succeeds" )
@@ -146,10 +142,10 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
146142 };
147143 // clang-format on
148144
149- auto * packet = RTC::SCTP::Packet::Parse (buffer, sizeof (buffer));
145+ std::unique_ptr<RTC::SCTP::Packet> packet{ RTC::SCTP::Packet::Parse (buffer, sizeof (buffer)) } ;
150146
151147 CHECK_SCTP_PACKET (
152- /* packet*/ packet,
148+ /* packet*/ packet. get () ,
153149 /* buffer*/ buffer,
154150 /* bufferLength*/ sizeof (buffer),
155151 /* length*/ 52 ,
@@ -270,7 +266,7 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
270266 std::memset (buffer, 0x00 , sizeof (buffer));
271267
272268 CHECK_SCTP_PACKET (
273- /* packet*/ packet,
269+ /* packet*/ packet. get () ,
274270 /* buffer*/ sctpCommon::SerializeBuffer,
275271 /* bufferLength*/ sizeof (sctpCommon::SerializeBuffer),
276272 /* length*/ 52 ,
@@ -379,14 +375,12 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
379375
380376 /* Clone it. */
381377
382- auto * clonedPacket = packet->Clone (sctpCommon::CloneBuffer, sizeof (sctpCommon::CloneBuffer));
378+ packet. reset (packet ->Clone (sctpCommon::CloneBuffer, sizeof (sctpCommon::CloneBuffer) ));
383379
384380 std::memset (sctpCommon::SerializeBuffer, 0x00 , sizeof (sctpCommon::SerializeBuffer));
385381
386- delete packet;
387-
388382 CHECK_SCTP_PACKET (
389- /* packet*/ clonedPacket ,
383+ /* packet*/ packet. get () ,
390384 /* buffer*/ sctpCommon::CloneBuffer,
391385 /* bufferLength*/ sizeof (sctpCommon::CloneBuffer),
392386 /* length*/ 52 ,
@@ -397,16 +391,16 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
397391 /* hasValidCrc32cChecksum*/ false ,
398392 /* chunksCount*/ 3 );
399393
400- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::DataChunk>() != nullptr );
401- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::UnknownChunk>() != nullptr );
402- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::HeartbeatAckChunk>() != nullptr );
403- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::InitChunk>() == nullptr );
404- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::HeartbeatRequestChunk>() == nullptr );
405- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::ShutdownCompleteChunk>() == nullptr );
394+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::DataChunk>() != nullptr );
395+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::UnknownChunk>() != nullptr );
396+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::HeartbeatAckChunk>() != nullptr );
397+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::InitChunk>() == nullptr );
398+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::HeartbeatRequestChunk>() == nullptr );
399+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::ShutdownCompleteChunk>() == nullptr );
406400
407- chunk1 = reinterpret_cast <const RTC::SCTP::DataChunk*>(clonedPacket ->GetChunkAt (0 ));
401+ chunk1 = reinterpret_cast <const RTC::SCTP::DataChunk*>(packet ->GetChunkAt (0 ));
408402
409- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::DataChunk>() == chunk1);
403+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::DataChunk>() == chunk1);
410404
411405 CHECK_SCTP_CHUNK (
412406 /* chunk*/ chunk1,
@@ -435,9 +429,9 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
435429 REQUIRE (chunk1->GetUserData ()[0 ] == 0xAB );
436430 REQUIRE (chunk1->GetUserData ()[1 ] == 0xCD );
437431
438- chunk2 = reinterpret_cast <const RTC::SCTP::UnknownChunk*>(clonedPacket ->GetChunkAt (1 ));
432+ chunk2 = reinterpret_cast <const RTC::SCTP::UnknownChunk*>(packet ->GetChunkAt (1 ));
439433
440- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::UnknownChunk>() == chunk2);
434+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::UnknownChunk>() == chunk2);
441435
442436 CHECK_SCTP_CHUNK (
443437 /* chunk*/ chunk2,
@@ -461,9 +455,9 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
461455 // Padding.
462456 REQUIRE (chunk2->GetUnknownValue ()[3 ] == 0x00 );
463457
464- chunk3 = reinterpret_cast <const RTC::SCTP::HeartbeatAckChunk*>(clonedPacket ->GetChunkAt (2 ));
458+ chunk3 = reinterpret_cast <const RTC::SCTP::HeartbeatAckChunk*>(packet ->GetChunkAt (2 ));
465459
466- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::HeartbeatAckChunk>() == chunk3);
460+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::HeartbeatAckChunk>() == chunk3);
467461
468462 CHECK_SCTP_CHUNK (
469463 /* chunk*/ chunk3,
@@ -498,17 +492,15 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
498492 // These should be padding.
499493 REQUIRE (parameter3_1->GetInfo ()[2 ] == 0x00 );
500494 REQUIRE (parameter3_1->GetInfo ()[3 ] == 0x00 );
501-
502- delete clonedPacket;
503495 }
504496
505497 SECTION (" Factory() with Chunks succeeds" )
506498 {
507- auto * packet =
508- RTC::SCTP::Packet::Factory ( sctpCommon::FactoryBuffer, sizeof (sctpCommon::FactoryBuffer));
499+ std::unique_ptr<RTC::SCTP::Packet> packet{ RTC::SCTP::Packet::Factory (
500+ sctpCommon::FactoryBuffer, sizeof (sctpCommon::FactoryBuffer)) } ;
509501
510502 CHECK_SCTP_PACKET (
511- /* packet*/ packet,
503+ /* packet*/ packet. get () ,
512504 /* buffer*/ sctpCommon::FactoryBuffer,
513505 /* bufferLength*/ sizeof (sctpCommon::FactoryBuffer),
514506 /* length*/ 12 ,
@@ -603,7 +595,7 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
603595 // - Total: 60
604596
605597 CHECK_SCTP_PACKET (
606- /* packet*/ packet,
598+ /* packet*/ packet. get () ,
607599 /* buffer*/ sctpCommon::FactoryBuffer,
608600 /* bufferLength*/ sizeof (sctpCommon::FactoryBuffer),
609601 /* length*/ 60 ,
@@ -621,7 +613,7 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
621613 std::memset (sctpCommon::FactoryBuffer, 0xAA , sizeof (sctpCommon::FactoryBuffer));
622614
623615 CHECK_SCTP_PACKET (
624- /* packet*/ packet,
616+ /* packet*/ packet. get () ,
625617 /* buffer*/ sctpCommon::SerializeBuffer,
626618 /* bufferLength*/ 60 ,
627619 /* length*/ 60 ,
@@ -637,14 +629,11 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
637629
638630 /* Clone the Packet. */
639631
640- auto * clonedPacket = packet->Clone (sctpCommon::CloneBuffer, packet->GetLength ());
632+ packet. reset (packet ->Clone (sctpCommon::CloneBuffer, packet->GetLength () ));
641633
642634 std::memset (sctpCommon::SerializeBuffer, 0x00 , sizeof (sctpCommon::SerializeBuffer));
643635
644- delete packet;
645-
646- const auto * obtainedChunk1 =
647- reinterpret_cast <const RTC::SCTP::InitChunk*>(clonedPacket->GetChunkAt (0 ));
636+ const auto * obtainedChunk1 = reinterpret_cast <const RTC::SCTP::InitChunk*>(packet->GetChunkAt (0 ));
648637
649638 // NOLINTNEXTLINE (readability-identifier-naming)
650639 const auto * obtainedParameter1_1 =
@@ -656,14 +645,14 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
656645 obtainedChunk1->GetParameterAt (1 ));
657646
658647 const auto * obtainedChunk2 =
659- reinterpret_cast <const RTC::SCTP::HeartbeatRequestChunk*>(clonedPacket ->GetChunkAt (1 ));
648+ reinterpret_cast <const RTC::SCTP::HeartbeatRequestChunk*>(packet ->GetChunkAt (1 ));
660649
661650 // NOLINTNEXTLINE (readability-identifier-naming)
662651 const auto * obtainedParameter2_1 =
663652 reinterpret_cast <const RTC::SCTP::HeartbeatInfoParameter*>(obtainedChunk2->GetParameterAt (0 ));
664653
665654 CHECK_SCTP_PACKET (
666- /* packet*/ clonedPacket ,
655+ /* packet*/ packet. get () ,
667656 /* buffer*/ sctpCommon::CloneBuffer,
668657 /* bufferLength*/ 60 ,
669658 /* length*/ 60 ,
@@ -674,8 +663,8 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
674663 /* hasValidCrc32cChecksum*/ true ,
675664 /* chunksCount*/ 2 );
676665
677- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::InitChunk>() == obtainedChunk1);
678- REQUIRE (clonedPacket ->GetFirstChunkOfType <RTC::SCTP::HeartbeatRequestChunk>() == obtainedChunk2);
666+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::InitChunk>() == obtainedChunk1);
667+ REQUIRE (packet ->GetFirstChunkOfType <RTC::SCTP::HeartbeatRequestChunk>() == obtainedChunk2);
679668
680669 CHECK_SCTP_CHUNK (
681670 /* chunk*/ obtainedChunk1,
@@ -750,14 +739,12 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
750739 REQUIRE (obtainedParameter2_1->GetInfo ()[0 ] == 0x00 );
751740 REQUIRE (obtainedParameter2_1->GetInfo ()[1 ] == 0x01 );
752741 REQUIRE (obtainedParameter2_1->GetInfo ()[2 ] == 0x02 );
753-
754- delete clonedPacket;
755742 }
756743
757744 SECTION (" Factory() using AddChunk() succeeds" )
758745 {
759- auto * packet =
760- RTC::SCTP::Packet::Factory ( sctpCommon::FactoryBuffer, sizeof (sctpCommon::FactoryBuffer));
746+ std::unique_ptr<RTC::SCTP::Packet> packet{ RTC::SCTP::Packet::Factory (
747+ sctpCommon::FactoryBuffer, sizeof (sctpCommon::FactoryBuffer)) } ;
761748
762749 packet->SetSourcePort (1 );
763750 packet->SetDestinationPort (2 );
@@ -786,7 +773,7 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
786773 // - Total: 16
787774
788775 CHECK_SCTP_PACKET (
789- /* packet*/ packet,
776+ /* packet*/ packet. get () ,
790777 /* buffer*/ sctpCommon::FactoryBuffer,
791778 /* bufferLength*/ sizeof (sctpCommon::FactoryBuffer),
792779 /* length*/ 16 ,
@@ -817,16 +804,15 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
817804 /* errorCausesCount*/ 0 );
818805
819806 REQUIRE (obtainedChunk1->GetT () == true );
820-
821- delete packet;
822807 }
823808
824809 SECTION (" BuildChunkInPlace() throws if given Chunk exceeds Packet buffer length" )
825810 {
826- auto * packet = RTC::SCTP::Packet::Factory (sctpCommon::FactoryBuffer, 28 );
811+ std::unique_ptr<RTC::SCTP::Packet> packet{ RTC::SCTP::Packet::Factory (
812+ sctpCommon::FactoryBuffer, 28 ) };
827813
828814 CHECK_SCTP_PACKET (
829- /* packet*/ packet,
815+ /* packet*/ packet. get () ,
830816 /* buffer*/ sctpCommon::FactoryBuffer,
831817 /* bufferLength*/ 28 ,
832818 /* length*/ 12 ,
@@ -849,7 +835,7 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
849835 REQUIRE_THROWS_AS (packet->BuildChunkInPlace <RTC::SCTP::InitChunk>(), MediaSoupError);
850836
851837 CHECK_SCTP_PACKET (
852- /* packet*/ packet,
838+ /* packet*/ packet. get () ,
853839 /* buffer*/ sctpCommon::FactoryBuffer,
854840 /* bufferLength*/ 28 ,
855841 /* length*/ 12 ,
@@ -859,7 +845,5 @@ SCENARIO("SCTP Packet", "[serializable][sctp][packet]")
859845 /* checksum*/ 0 ,
860846 /* hasValidCrc32cChecksum*/ false ,
861847 /* chunksCount*/ 0 );
862-
863- delete packet;
864848 }
865849}
0 commit comments