diff options
Diffstat (limited to 'source4/build/pidl/parser.pm')
-rw-r--r-- | source4/build/pidl/parser.pm | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source4/build/pidl/parser.pm b/source4/build/pidl/parser.pm index ee24e9d5ef..88ba348486 100644 --- a/source4/build/pidl/parser.pm +++ b/source4/build/pidl/parser.pm @@ -1256,6 +1256,11 @@ sub ParseFunctionPull($) if (util::has_property($e, "in")) { ParseFunctionElementPull($e, "in"); } + # we need to allocate any reference output variables, so that + # a dcerpc backend can be sure they are non-null + if (util::has_property($e, "out") && util::has_property($e, "ref")) { + pidl "\tNDR_ALLOC(ndr, r->out.$e->{NAME});\n"; + } } pidl "\nndr_out:\n"; |