Browse Source

Fix misaligned dereference in H265RtpPacketizer

Ray Chung 1 year ago
parent
commit
9e3871b65a
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/h265rtppacketizer.cpp

+ 3 - 2
src/h265rtppacketizer.cpp

@@ -32,8 +32,9 @@ shared_ptr<H265NalUnits> H265RtpPacketizer::splitMessage(binary_ptr message) {
 				LOG_WARNING << "Invalid NAL Unit data (incomplete length), ignoring!";
 				LOG_WARNING << "Invalid NAL Unit data (incomplete length), ignoring!";
 				break;
 				break;
 			}
 			}
-			auto lengthPtr = (uint32_t *)(message->data() + index);
-			uint32_t length = ntohl(*lengthPtr);
+			uint32_t length;
+			std::memcpy(&length, message->data() + index, sizeof(uint32_t));
+			length = ntohl(length);
 			auto naluStartIndex = index + 4;
 			auto naluStartIndex = index + 4;
 			auto naluEndIndex = naluStartIndex + length;
 			auto naluEndIndex = naluStartIndex + length;