Python pidl: avoid segfault with "del obj->attr"
[sfrench/samba-autobuild/.git] / pidl / lib / Parse / Pidl / Samba4 / Python.pm
index 9e39167eb7e7337cde266afdc42a76aa6e0cbf56..f43e4d624433e218aab63fdd60c4953b9f015792 100644 (file)
@@ -1218,6 +1218,14 @@ sub ConvertObjectFromPythonLevel($$$$$$$$)
                $pl = GetPrevLevel($e, $pl);
        }
 
+        $self->pidl("if ($py_var == NULL) {");
+        $self->indent;
+        $self->pidl("PyErr_Format(PyExc_AttributeError, \"Cannot delete NDR object: " .
+                    mapTypeName($var_name) . "\");");
+        $self->pidl($fail);
+        $self->deindent;
+        $self->pidl("}");
+
        if ($l->{TYPE} eq "POINTER") {
                if ($l->{POINTER_TYPE} ne "ref") {
                        $self->pidl("if ($py_var == Py_None) {");