Author: mimir
Date: 2006-06-22 21:29:21 +0000 (Thu, 22 Jun 2006)
New Revision: 16476

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16476

Log:
Error in composite functions implemented the 'old way' (single event handler,
no continue functions) need to report an error by means of state only.
composite_error calls event handler function which frees the context and
state structure. This fixes a segfault in some cases (caught it on modifyuser
test).


rafal


Modified:
   branches/SAMBA_4_0/source/libnet/userman.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/userman.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/userman.c  2006-06-22 20:33:42 UTC (rev 
16475)
+++ branches/SAMBA_4_0/source/libnet/userman.c  2006-06-22 21:29:21 UTC (rev 
16476)
@@ -519,11 +519,13 @@
           and what if there's more than one rid resolved */
        if (!s->lookupname.out.rids.count) {
                c->status = NT_STATUS_NO_SUCH_USER;
-               composite_error(c, c->status);
+               c->state  = COMPOSITE_STATE_ERROR;
+               return c->status;
 
        } else if (!s->lookupname.out.rids.count > 1) {
                c->status = NT_STATUS_INVALID_ACCOUNT_NAME;
-               composite_error(c, c->status);
+               c->state  = COMPOSITE_STATE_ERROR;
+               return c->status;
        }
 
        /* prepare the next rpc call */

Reply via email to