diff --git a/drivers/filesystems/udfs/udf_info/dirtree.cpp b/drivers/filesystems/udfs/udf_info/dirtree.cpp index e4ed3534956e4..fea350ca82c9a 100644 --- a/drivers/filesystems/udfs/udf_info/dirtree.cpp +++ b/drivers/filesystems/udfs/udf_info/dirtree.cpp @@ -398,9 +398,11 @@ UDFBuildHashEntry( UName.MaximumLength = Name->Length; UName.Buffer = (PWCHAR)FsRtlAllocatePoolWithTag(NonPagedPool, UName.MaximumLength, TAG_FILE_NAME); - RtlUpcaseUnicodeString(&UName, Name, FALSE); - hashes->hLfn = crc32((uint8*)(UName.Buffer), UName.Length); - ExFreePoolWithTag(UName.Buffer, TAG_FILE_NAME); + if (UName.Buffer) { + RtlUpcaseUnicodeString(&UName, Name, FALSE); + hashes->hLfn = crc32((uint8*)(UName.Buffer), UName.Length); + ExFreePoolWithTag(UName.Buffer, TAG_FILE_NAME); + } } if (Mask & HASH_DOS) {