[3/3] ntdll: Use the same buffer size for every platform and complain if it's too small
André Hentschel
nerv at dawncrow.de
Sun Jan 5 19:34:05 CST 2014
---
dlls/ntdll/directory.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index 78b3ea7..5e17391 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -3205,19 +3205,22 @@ static void WINAPI read_changes_user_apc( void *arg, IO_STATUS_BLOCK *io, ULONG
static NTSTATUS read_changes_apc( void *user, PIO_STATUS_BLOCK iosb, NTSTATUS status, void **apc )
{
struct read_changes_info *info = user;
- char data[PATH_MAX];
+ char data[4096];
NTSTATUS ret;
int size;
SERVER_START_REQ( read_change )
{
req->handle = wine_server_obj_handle( info->FileHandle );
- wine_server_set_reply( req, data, PATH_MAX );
+ wine_server_set_reply( req, data, sizeof(data) );
ret = wine_server_call( req );
size = wine_server_reply_size( reply );
}
SERVER_END_REQ;
+ if (ret == STATUS_BUFFER_TOO_SMALL)
+ ERR("Buffer too small\n");
+
if (ret == STATUS_SUCCESS && info->Buffer)
{
PFILE_NOTIFY_INFORMATION pfni = info->Buffer;
@@ -3302,6 +3305,9 @@ NtNotifyChangeDirectoryFile( HANDLE FileHandle, HANDLE Event,
FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock,
Buffer, BufferSize, CompletionFilter, WatchTree );
+ if (BufferSize > 4096)
+ FIXME("Application provided a Buffer larger than 4096 Bytes\n");
+
if (!IoStatusBlock)
return STATUS_ACCESS_VIOLATION;
--
1.8.1.2
More information about the wine-patches
mailing list