summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/fs/ntapi_tt_istat.c14
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;
}