diff --git a/services/hilogd/log_compress.cpp b/services/hilogd/log_compress.cpp index 1860f6b9c8e4b5ebd5dc553f4530ad3a4812a1af..d3eb74eac0b45d6e359fa7ca442af8e8e68bcf2a 100644 --- a/services/hilogd/log_compress.cpp +++ b/services/hilogd/log_compress.cpp @@ -34,9 +34,11 @@ void LogCompress::DeleteZData() int NoneCompress::Compress(LogPersisterBuffer* &buffer, LogPersisterBuffer* &compressBuffer) { - if (memcpy_s(compressBuffer->content, compressBuffer->offset, buffer->content, buffer->offset) != 0) { + if (memcpy_s(compressBuffer->content + compressBuffer->offset, MAX_PERSISTER_BUFFER_SIZE - compressBuffer->offset, + buffer->content, buffer->offset) != 0) { return -1; } + compressBuffer->offset += buffer->offset; return 0; } diff --git a/services/hilogd/log_querier.cpp b/services/hilogd/log_querier.cpp index a3fee3fc1496e7fae5671ae1da1fe3a2ac346eba..f6d8393015110187f7a198ded7c0ecf474febc33 100644 --- a/services/hilogd/log_querier.cpp +++ b/services/hilogd/log_querier.cpp @@ -106,10 +106,15 @@ int JobLauncher(const LogPersistStartMsg& pMsg, const HilogBuffer& buffer, bool persister.reset(); return persistRes; } - if (saveInfoRes == RET_FAIL || rotatorRes == RET_FAIL) { - cout << "LogPersister failed to initialize!" << endl; + if (rotatorRes != 0) { + cout << "failed to open info file!" << endl; + persister.reset(); + return rotatorRes; + } + if (saveInfoRes != 0) { + cout << "Failed to save persister file path!" << endl; persister.reset(); - return RET_FAIL; + return saveInfoRes; } if (!restore) rotator->WriteRecoveryInfo(); persister->Start(); diff --git a/services/hilogtool/main.cpp b/services/hilogtool/main.cpp index 9d3c0eb4e9449ab7790e8417aa7170a93e6df68d..f0d9bd6cf369394b1e0249d9ccf900ac711b31de 100644 --- a/services/hilogtool/main.cpp +++ b/services/hilogtool/main.cpp @@ -510,6 +510,7 @@ int HilogEntry(int argc, char* argv[]) } else if (context.logFileCtrlArgs == "query") { ret = LogPersistOp(controller, MC_REQ_LOG_PERSIST_QUERY, &logPersistParam); } else { + cout << "Invalid log persist parameter" << endl; exit(-1); } if (ret == RET_FAIL) {