Commit Graph

309 Commits

Author SHA1 Message Date
Zebediah Figura f848d03f95 rpcrt4: Fix handling of FC_ALIGNM* directives.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 09:57:21 +01:00
Zebediah Figura c94314085c rpcrt4: Handle large arrays in EmbeddedComplexSize().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 10:17:48 +01:00
Zebediah Figura 03be1605db rpcrt4: Ignore fMustAlloc in PointerUnmarshall().
Use our own heuristics to decide whether we, or the inner routine, must
allocate.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 19:00:35 +01:00
Zebediah Figura 61fdcfdd36 rpcrt4: Clarify local variables in PointerUnmarshall().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 19:00:35 +01:00
Zebediah Figura be430b2626 rpcrt4: Clear allocated memory before marshalling pointers into it (Valgrind).
Since otherwise PointerUnmarshall() might try to interpret pointers contained
therein as existing storage.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 19:00:35 +01:00
Zebediah Figura c3db8982d4 rpcrt4: Add comments explaining the arguments to EmbeddedPointerUnmarshall().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 19:00:35 +01:00
Zebediah Figura 5fae77e4db rpcrt4: Unmarshal into a stack pointer on the server side if possible.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-17 10:01:20 +02:00
Zebediah Figura 36592505ca rpcrt4: Discriminants can't be int3264.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:55:21 +02:00
Zebediah Figura 69cd52875a rpcrt4: Use publicly defined NDR constants.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-13 09:53:07 +02:00
Zebediah Figura c3ebd20283 rpcrt4: We don't need to marshal type 0.
Because it's not a type, but the lack of one.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:20:38 +02:00
Zebediah Figura e41209f228 rpcrt4: Dereference interface pointers in union arms.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:20:36 +02:00
Francois Gouget bea5c0ce2b rpcrt4: Spelling fixes in comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-06 18:49:38 +02:00
Huw Davies e8d1380aa7 rpcrt4: Use CorrDespIncrement to skip over the correlation descriptor. 2015-07-13 22:11:34 +09:00
Huw Davies 76dc3b64ae rpcrt4: Set CorrDespIncrement to the size of the (non-range) /robust payload.
fHasNewCorrDesc is only set on older versions of Windows that don't
set CorrDespIncrement, but it can't hurt to continue to set it.
2015-07-13 22:11:17 +09:00
Nikolay Sivov 15ff762bd5 rpcrt4: Added missing marshalling calls for FC_INT3264/FC_UINT3264 types. 2015-05-07 22:29:22 +09:00
Nikolay Sivov e1d1057232 rpcrt4: Use a helper to skip conformance. 2015-03-10 15:09:53 +09:00
Nikolay Sivov 0810db96fa rpcrt4: Use RPC_* error code names. 2015-03-03 20:32:06 +09:00
Eric Kohl 23981241c1 rpcrt4: Fix buffer size calculation for arrays with embedded pointers. 2014-09-18 18:40:21 +02:00
Thomas Faber 6a30cde7b0 rpcrt4: Correctly check for in-buffer memory in PointerFree. 2014-08-11 23:55:23 +02:00
Frédéric Delanoy 47ed171aac rpcrt4: Use BOOL type where appropriate. 2013-12-03 12:40:19 +01:00
Frédéric Delanoy ca75c4a84b rpcrt4: Make some switch fallthroughs explicit (Coverity). 2012-01-20 13:32:47 +01:00
Jérôme Gardou 67f7a02fed rpcrt4: Properly unmarshall EMUM16 discriminant. 2011-08-30 12:39:40 +02:00
Alexandre Julliard 4f247d3130 rpcrt4: Add support for 64-bit conformance values. 2011-06-17 14:11:45 +02:00
Alexandre Julliard fa847909f2 rpcrt4: Preserve the previous MaxCount value when computing variance through a callback. 2011-06-14 16:12:04 +02:00
Joris Huizer 3312d63119 rpcrt4: Reduce scope of variable (Clang). 2011-02-04 15:25:33 +01:00
Alexandre Julliard ee5cada235 rpcrt4: Don't align the buffer after reading the conformance, we need to read the variance first. 2010-07-21 20:31:53 +02:00
Gerald Pfeifer 3b3085fba1 rpcrt4: Remove variable size which is not really used from NdrComplexArrayUnmarshall. 2010-04-26 07:01:03 -05:00
Alexandre Julliard a758a38fae rpcrt4: Add support for marshalling int3264 types. 2010-04-07 13:09:30 +02:00
Alexandre Julliard cf50aa91f6 rpcrt4: Clean up handling of enum16 types. 2010-04-07 13:09:17 +02:00
Alexandre Julliard fe2f875aaf rpcrt4: Add support for complex arrays in the generic array unmarshalling functions. 2010-04-05 22:02:20 +02:00
Alexandre Julliard 3243ee7e0b rpcrt4: Add support for complex arrays in the generic array marshalling functions. 2010-04-05 22:01:46 +02:00
Alexandre Julliard c1a9dc8ad2 rpcrt4: Always skip the conformance format, even if conformance is not present in the buffer.
Add an identical SkipVariance function to make the code clearer.
2010-04-05 21:59:30 +02:00
Alexandre Julliard 5728d6b402 rpcrt4: Fix tracing of non-conformant strings. 2010-04-05 21:58:06 +02:00
Alexandre Julliard b91e5302a5 rpcrt4: Replace the alignment macros by inline functions. 2010-04-02 21:54:55 +02:00
Alexandre Julliard afa56b29ce rpcrt4: Fix the pointer alignment macros for 64-bit. 2010-04-02 21:38:32 +02:00
Mikhail Maroukhine 9b933a3594 rpcrt4: Fix compiler warnings with flag -Wcast-qual. 2010-04-01 18:12:41 +02:00
Rob Shearman 088c0857c9 rpcrt4: Add support for marshalling/unmarshalling complex arrays of pointers. 2010-03-16 11:42:09 +01:00
Huw Davies 87b712be8b rpcrt4: Add support for FC_FLOAT and FC_DOUBLE in complex structures. 2010-02-22 13:18:50 +01:00
Marcus Meissner 122ca034db rpcrt4: Exit on unknown confirmance type (Coverity). 2009-12-15 16:09:11 +01:00
Rob Shearman b24aa1c153 rpcrt4: Add support for context handles in stubless servers. 2009-12-14 12:04:05 +01:00
Marcus Meissner 4c36f79964 rpcrt4: Fixed array_compute_and_size_conformance on strings (Coverity). 2009-12-07 14:18:28 +01:00
Rob Shearman 37793cd550 rpcrt4: Fix the pointer saved during full pointer unmarshalling.
The pointer address may set by the type unmarshalling function and
therefore will not be base_ptr_val. This value is the value at
*pPointer and is what needs to be retrieved during subsequent
unmarshalling of the same function.
2009-11-18 15:14:10 +01:00
Francois Gouget 891d3ef525 rpcrt4: Fix compilation on systems that don't support nameless unions. 2009-08-31 12:41:37 +02:00
Huw Davies 70804336aa rpcrt4: Add support for FC_ALIGNM2. 2009-08-17 16:47:24 +02:00
Alexandre Julliard b579c48133 rpcrt4: Fix memory sizes of marshalled pointers on 64-bit. 2009-06-19 12:49:35 +02:00
Alexandre Julliard aded9e4091 rpcrt4: Fix compiler warnings on 64-bit. 2009-05-28 11:56:30 +02:00
Alexandre Julliard feeaf97c81 rpcrt4: Implement NdrPointerMemorySize and enable the corresponding tests. 2009-05-28 11:52:36 +02:00
Michael Stefaniuc 3b803f5390 rpcrt4: Replace some usage of the long type. 2009-04-21 13:16:31 +02:00
Rob Shearman ae5770d366 rpcrt4: Fix a memory leak in union unmarshall functions by never passing fMustAlloc=TRUE into union_arm_unmarshall. 2009-03-23 14:54:29 +01:00
Rob Shearman 1c8c45d0f6 rpcrt4: Implement NdrRangeUnmarshall for enum types. 2009-03-23 14:54:15 +01:00