diff --git a/test/unittest/common/native/perf_event_record_test.cpp b/test/unittest/common/native/perf_event_record_test.cpp index c59fd810491a2633ea3ecab653a680827295155f..f05222e138979891073419bc522db66f200ea07c 100644 --- a/test/unittest/common/native/perf_event_record_test.cpp +++ b/test/unittest/common/native/perf_event_record_test.cpp @@ -883,9 +883,23 @@ HWTEST_F(PerfEventRecordTest, CreatePerfRecordComm, TestSize.Level1) HWTEST_F(PerfEventRecordTest, CreatePerfRecordAuxtrace, TestSize.Level1) { perf_event_header header; + const char* rawData = "rawData"; + size_t len = strlen(rawData) + 1; header.size = sizeof(PerfRecordAuxtraceData) + sizeof(perf_event_header); - uint8_t* p = static_cast(malloc(header.size)); - + PerfRecordAuxtraceData data; + uint8_t* p = static_cast(malloc(header.size + len)); + EXPECT_EQ(memset_s(p, header.size + len, 0, header.size + len), 0); + if (memcpy_s(p, sizeof(perf_event_header), reinterpret_cast(&header), + sizeof(perf_event_header)) != 0) { + printf("memcpy_s perf_event_header return failed"); + } + if (memcpy_s(p + sizeof(perf_event_header), sizeof(PerfRecordAuxtraceData), + reinterpret_cast(&data), sizeof(PerfRecordAuxtraceData)) != 0) { + printf("memcpy_s data return failed"); + } + if (memcpy_s(p + header.size, len, reinterpret_cast(rawData), len) != 0) { + printf("memcpy_s rawData return failed"); + } PerfRecordAuxtrace record; record.Init(p); ASSERT_NE(record.rawData_, nullptr);