From d3c941768fdc8c7f1a465ba0f87b27809ece8b51 Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Fri, 27 Feb 2026 15:40:02 +0100 Subject: [PATCH] [winpr,utils] fix SAM return checks --- winpr/libwinpr/utils/sam.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/winpr/libwinpr/utils/sam.c b/winpr/libwinpr/utils/sam.c index a386ca98e..76721832c 100644 --- a/winpr/libwinpr/utils/sam.c +++ b/winpr/libwinpr/utils/sam.c @@ -245,10 +245,18 @@ static BOOL SamReadEntry(WINPR_SAM* sam, WINPR_SAM_ENTRY* entry) entry->Domain = nullptr; if (LmHashLength == 32) - winpr_HexStringToBinBuffer(p[2], LmHashLength, entry->LmHash, sizeof(entry->LmHash)); + { + if (winpr_HexStringToBinBuffer(p[2], LmHashLength, entry->LmHash, sizeof(entry->LmHash)) != + 32) + return FALSE; + } if (NtHashLength == 32) - winpr_HexStringToBinBuffer(p[3], NtHashLength, (BYTE*)entry->NtHash, sizeof(entry->NtHash)); + { + if (winpr_HexStringToBinBuffer(p[3], NtHashLength, (BYTE*)entry->NtHash, + sizeof(entry->NtHash)) != 32) + return FALSE; + } return TRUE; }