Commit d6db7fb
committed
[RPCRT4] Fix buffer size calculation bug when unions of pointers are used in RPC interfaces
The size of the transfer buffer was always too small when a parameter of a
function was a pointer to a union of pointers. The buffer size calculation
function for the union only returned the size of the data the the pointer
in the union pointed to, omitting the size of the data for the union itself.
This caused a buffer overrun in the following marshal step which makes the
RPC call fail.
This fix will enable us to remove some workarounds in our RPC interfaces.1 parent d1f54aa commit d6db7fb
2 files changed
+20
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5904 | 5904 | | |
5905 | 5905 | | |
5906 | 5906 | | |
| 5907 | + | |
| 5908 | + | |
| 5909 | + | |
5907 | 5910 | | |
| 5911 | + | |
5908 | 5912 | | |
5909 | 5913 | | |
5910 | 5914 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
53 | 68 | | |
54 | 69 | | |
55 | 70 | | |
| |||
0 commit comments