Robert Shearman : rpcrt4:
If the number of pointers is 0 for NdrFullPointerXlatInit then
Alexandre Julliard
julliard at wine.codeweavers.com
Tue May 30 05:56:47 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 11eb8ee042f6b324d3b2c0457bcf5a676dfd7579
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=11eb8ee042f6b324d3b2c0457bcf5a676dfd7579
Author: Robert Shearman <rob at codeweavers.com>
Date: Mon May 29 16:27:48 2006 +0100
rpcrt4: If the number of pointers is 0 for NdrFullPointerXlatInit then
set the number of pointers to a large default, so that NumberOfBuckets
doesn't end up less than zero.
---
dlls/rpcrt4/ndr_fullpointer.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/dlls/rpcrt4/ndr_fullpointer.c b/dlls/rpcrt4/ndr_fullpointer.c
index f4485b2..b89b669 100644
--- a/dlls/rpcrt4/ndr_fullpointer.c
+++ b/dlls/rpcrt4/ndr_fullpointer.c
@@ -32,11 +32,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(rpc);
PFULL_PTR_XLAT_TABLES WINAPI NdrFullPointerXlatInit(unsigned long NumberOfPointers,
XLAT_SIDE XlatSide)
{
- unsigned long NumberOfBuckets = ((NumberOfPointers + 3) & 4) - 1;
+ unsigned long NumberOfBuckets;
PFULL_PTR_XLAT_TABLES pXlatTables = HeapAlloc(GetProcessHeap(), 0, sizeof(*pXlatTables));
TRACE("(%ld, %d)\n", NumberOfPointers, XlatSide);
+ if (!NumberOfPointers) NumberOfPointers = 512;
+ NumberOfBuckets = ((NumberOfPointers + 3) & ~3) - 1;
+
pXlatTables->RefIdToPointer.XlatTable =
HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof(void *) * NumberOfPointers);
More information about the wine-cvs
mailing list