summaryrefslogtreecommitdiff
path: root/pidl
diff options
context:
space:
mode:
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>2019-05-15 11:53:07 +1200
committerAndreas Schneider <asn@cryptomilk.org>2020-07-06 12:30:33 +0000
commit9199541052a057e0a49b203646f35394b0362290 (patch)
tree4facb9737d9e6d19ead86078f43b3bce02f83d38 /pidl
parente78db8a7ebd01afd3d3128c1221853827d35ab4b (diff)
downloadsamba-9199541052a057e0a49b203646f35394b0362290.tar.gz
pypidl: check the result of py_dcerpc_ndr_pointer_deref()
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'pidl')
-rw-r--r--pidl/lib/Parse/Pidl/Samba4/Python.pm5
1 files changed, 5 insertions, 0 deletions
diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm
index 344f48987d1..76a094b625b 100644
--- a/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -1947,6 +1947,11 @@ sub ConvertObjectFromPythonLevel($$$$$$$$$)
if ($need_deref == 1) {
my $ndr_pointer_typename = $self->import_type_variable("samba.dcerpc.base", "ndr_pointer");
$self->pidl("$py_var = py_dcerpc_ndr_pointer_deref($ndr_pointer_typename, $py_var);");
+ $self->pidl("if ($py_var == NULL) {");
+ $self->indent;
+ $self->pidl($fail);
+ $self->deindent;
+ $self->pidl("}");
}
unless ($nl->{TYPE} eq "DATA" and Parse::Pidl::Typelist::scalar_is_reference($nl->{DATA_TYPE})) {
$var_name = get_value_of($var_name);