X-Git-Url: http://git.samba.org/?p=samba.git;a=blobdiff_plain;f=source4%2Fbuild%2Fpidl%2Fparser.pm;h=8fb74b2e0ed882e7f650a7bdaa25ec6765f1f185;hp=375558e5dc1a44fb5f0421fff11ba497496a78ac;hb=d792ee488372c7259567d12b141cf449c0bdb6a8;hpb=ddcb89ccfc0d01bbd9a2b999833a5b095a13852d diff --git a/source4/build/pidl/parser.pm b/source4/build/pidl/parser.pm index 375558e5dc1..8fb74b2e0ed 100644 --- a/source4/build/pidl/parser.pm +++ b/source4/build/pidl/parser.pm @@ -288,14 +288,18 @@ sub CheckArraySizes($$) if (util::has_property($e, "size_is")) { my $size = find_size_var($e, util::array_size($e), $var_prefix); + pidl "\tif ($var_prefix$e->{NAME}) {\n"; check_null_pointer($size); - pidl "\tNDR_CHECK(ndr_check_array_size(ndr, (void*)&$var_prefix$e->{NAME}, $size));\n"; + pidl "\t\tNDR_CHECK(ndr_check_array_size(ndr, (void*)&$var_prefix$e->{NAME}, $size));\n"; + pidl "\t}\n"; } if (my $length = util::has_property($e, "length_is")) { $length = find_size_var($e, $length, $var_prefix); + pidl "\tif ($var_prefix$e->{NAME}) {\n"; check_null_pointer($length); - pidl "\tNDR_CHECK(ndr_check_array_length(ndr, (void*)&$var_prefix$e->{NAME}, $length));\n"; + pidl "\t\tNDR_CHECK(ndr_check_array_length(ndr, (void*)&$var_prefix$e->{NAME}, $length));\n"; + pidl "\t}\n"; } }