diff options
Diffstat (limited to 'src/fs')
-rw-r--r-- | src/fs/ntapi_tt_istat.c | 14 |
1 files changed, 14 insertions, 0 deletions
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; } |