diff --git a/ai_anti_malware/ml.cpp b/ai_anti_malware/ml.cpp index aa2f004..861af55 100644 --- a/ai_anti_malware/ml.cpp +++ b/ai_anti_malware/ml.cpp @@ -289,10 +289,12 @@ std::vector MachineLearning::ExtractFeatures(const uint8_t* buffer, const uint32_t* richPtr = reinterpret_cast( peBuffer + sizeof(IMAGE_DOS_HEADER)); size_t maxLen = dosHeader->e_lfanew - sizeof(IMAGE_DOS_HEADER); - for (size_t i = 0; i < maxLen / 4 - 1; i++) { - if (richPtr[i] == 0x68636952) { // "Rich" - peInfo.hasRich = true; - break; + if (maxLen > 0 && richPtr != nullptr) { + for (size_t i = 0; i < maxLen / 4 - 1; i++) { + if (richPtr[i] == 0x68636952) { // "Rich" + peInfo.hasRich = true; + break; + } } } }