pypidl: check the result of py_dcerpc_ndr_pointer_deref()
[amitay/samba.git] / pidl / lib / Parse / Pidl / Samba4 / Python.pm
index 344f48987d1a8d69d5d2ac3fd0c1fc76589f8c60..76a094b625bec7f1850a44090d5b06692b54033e 100644 (file)
@@ -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);