From: Stefan Metzmacher Date: Mon, 27 Jul 2009 15:34:37 +0000 (+0200) Subject: pidl: allow foo being on the wire after [length_is(foo)] uint8 *buffer X-Git-Tag: samba-3.4.16~10 X-Git-Url: http://git.samba.org/?p=samba.git;a=commitdiff_plain;h=dd5faa13873fbdd92fa4ddd82dc69d34a73e4d1f pidl: allow foo being on the wire after [length_is(foo)] uint8 *buffer metze (cherry picked from commit 92791ce9a8439ac06a22afdbeb0d0fc66c32cb31) --- diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm index c4e3eb7d88c..a05f2851786 100644 --- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm +++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm @@ -1069,6 +1069,10 @@ sub ParseElementPullLevel my $counter = "cntr_$e->{NAME}_$l->{LEVEL_INDEX}"; my $array_name = $var_name; + if ($l->{IS_VARYING}) { + $length = "ndr_get_array_length($ndr, " . get_pointer_to($var_name) .")"; + } + $var_name = get_array_element($var_name, $counter); $self->ParseMemCtxPullStart($e, $l, $ndr, $array_name);