diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-10-04 01:43:24 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:39:22 -0500 |
commit | 3a7e251f277c9eb203b470ec6635a3ad2fc028f0 (patch) | |
tree | 9ba54a98115ce96d03aef5e86745a0321861ff34 /source4/librpc | |
parent | 2c3e4bdadfea9fb29f83e0be9a9cf9a239f3a081 (diff) | |
download | samba-3a7e251f277c9eb203b470ec6635a3ad2fc028f0.tar.gz samba-3a7e251f277c9eb203b470ec6635a3ad2fc028f0.tar.bz2 samba-3a7e251f277c9eb203b470ec6635a3ad2fc028f0.zip |
r10705: fixed a crash bug in the getdcname irpc server for winbind. The
problem was that the return string was declared as:
[out] astring dcname
which means "this is a non-NULL string". The server code sometimes
returned NULL however (on getdc lookup failure), which caused the NDR
marshalling code to crash. When you declare a non-pointer return value
you are promising that the value can never be NULL.
The trivial fix is to use:
[out] astring *dcname
which leaves the API alone, but includes a pointer in the wire format,
which in turn means it is valid to send a NULL string as a response.
(This used to be commit e39bac61960f6ce8957f148a482e39499a8e9096)
Diffstat (limited to 'source4/librpc')
-rw-r--r-- | source4/librpc/idl/irpc.idl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source4/librpc/idl/irpc.idl b/source4/librpc/idl/irpc.idl index 1c4b8d2c53..34998d57a7 100644 --- a/source4/librpc/idl/irpc.idl +++ b/source4/librpc/idl/irpc.idl @@ -59,7 +59,7 @@ [in] astring my_accountname, [in] uint32 account_control, [in,ref] dom_sid *domain_sid, - [out] astring dcname + [out] astring *dcname ); /****************************************************** |