1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-24 13:57:43 +03:00

r25674: fix crash bug in pidl generated client code, this

could have happend with [in,out,unique] pointers
when the clients sends a valid pointer, but the server
reponse with a NULL pointer (as samba-3.0.26a do for some calls).

I've tested with midl to see how windows handles this situation
and also the reverse case where the client sends NULL and
the server reposnse with non-NULL.

It appears that midl generated code just ignores this
and only copies the result if both pointers are non-NULL.

metze
(This used to be commit 7203f717a676a741e49f96f2d477f4f459575caf)
This commit is contained in:
Stefan Metzmacher 2007-10-17 08:26:55 +02:00
parent af0832769f
commit c28074da32

View File

@ -91,7 +91,7 @@ sub ParseFunction($$$)
if ($e->{LEVELS}[0]->{TYPE} eq "POINTER") {
$level = 1;
if ($e->{LEVELS}[0]->{POINTER_TYPE} ne "ref") {
$self->pidl("if ( $e->{NAME} ) {");
$self->pidl("if ($e->{NAME} && r.out.$e->{NAME}) {");
$self->indent;
}
}