From fc83d8f323b7a866ad377aecb792bdaf3edeb6c8 Mon Sep 17 00:00:00 2001 From: midipix Date: Sat, 24 Dec 2016 13:44:00 +0000 Subject: __ntapi_tt_istat(): respect NT_ISTAT_DEV_NAME_COPY. --- src/fs/ntapi_tt_istat.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/fs/ntapi_tt_istat.c b/src/fs/ntapi_tt_istat.c index 00766ed..77eafb2 100644 --- a/src/fs/ntapi_tt_istat.c +++ b/src/fs/ntapi_tt_istat.c @@ -130,6 +130,20 @@ int32_t __stdcall __ntapi_tt_istat( wch_mark, (uintptr_t)wch - (uintptr_t)wch_mark); + if (!(flags & NT_ISTAT_DEV_NAME_COPY)) { + istat->dev_name[0] = 0; + return NT_STATUS_SUCCESS; + } else if (istat->dev_name_maxlen < sdev->strlen) { + istat->dev_name[0] = 0; + return NT_STATUS_BUFFER_TOO_SMALL; + } + + __ntapi->tt_memcpy_utf16( + istat->dev_name, + sdev->buffer, + istat->dev_name_strlen); + + return status; } -- cgit v1.2.3