mountmgr: Return STATUS_BUFFER_OVERFLOW if an insufficient buffer is passed to IOCTL_MOUNTMGR_QUERY_POINTS.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-08-30 22:25:58 -05:00 committed by Alexandre Julliard
parent 17ebac8482
commit a200c47c32
2 changed files with 3 additions and 3 deletions

View file

@ -1678,8 +1678,8 @@ static void test_mountmgr_query_points(void)
memset(output, 0xcc, sizeof(*output));
status = NtDeviceIoControlFile( file, NULL, NULL, NULL, &io,
IOCTL_MOUNTMGR_QUERY_POINTS, input, sizeof(*input), output, sizeof(*output) );
todo_wine ok(status == STATUS_BUFFER_OVERFLOW, "got %#x\n", status);
todo_wine ok(io.Status == STATUS_BUFFER_OVERFLOW, "got status %#x\n", io.Status);
ok(status == STATUS_BUFFER_OVERFLOW, "got %#x\n", status);
ok(io.Status == STATUS_BUFFER_OVERFLOW, "got status %#x\n", io.Status);
todo_wine ok(io.Information == offsetof(MOUNTMGR_MOUNT_POINTS, MountPoints[0]), "got information %#Ix\n", io.Information);
ok(output->Size > offsetof(MOUNTMGR_MOUNT_POINTS, MountPoints[0]), "got size %u\n", output->Size);
todo_wine ok(output->NumberOfMountPoints && output->NumberOfMountPoints != 0xcccccccc,

View file

@ -196,7 +196,7 @@ static NTSTATUS query_mount_points( void *buff, SIZE_T insize,
info = buff;
info->Size = size;
iosb->Information = sizeof(info->Size);
return STATUS_MORE_ENTRIES;
return STATUS_BUFFER_OVERFLOW;
}
input = HeapAlloc( GetProcessHeap(), 0, insize );