2.2.0alpha3: Internal error

Jeremy Allison jeremy at valinux.com
Mon Apr 2 20:42:46 GMT 2001


Christopher Odenbach wrote:
> 
> Hi,
> 
> > Can you reproduce this consistently?
> 
> Of course :-(
> 

Ok - I've nailed the problem. I shouldn't have been keeping
a pipe backpointer in a policy handle to a pipe that may go
away :-).

Apply this patch (not you'll have to do a make clean; make
as I've changed the size of a structure).

I've checked this into HEAD and 2.2.

Thanks a *lot* for your help tracking this one down.

Jeremy.

Index: include/ntdomain.h
===================================================================
RCS file: /data/cvs/samba/source/include/ntdomain.h,v
retrieving revision 1.66.4.5
diff -u -r1.66.4.5 ntdomain.h
--- include/ntdomain.h	2001/03/13 20:11:13	1.66.4.5
+++ include/ntdomain.h	2001/04/02 22:39:08
@@ -143,7 +143,6 @@
 struct policy
 {
     struct policy *next, *prev;
-    struct pipes_struct *p;
 
     POLICY_HND pol_hnd;
 
Index: rpc_server/srv_lsa_hnd.c
===================================================================
RCS file: /data/cvs/samba/source/rpc_server/srv_lsa_hnd.c,v
retrieving revision 1.23.4.8
diff -u -r1.23.4.8 srv_lsa_hnd.c
--- rpc_server/srv_lsa_hnd.c	2001/03/13 20:11:15	1.23.4.8
+++ rpc_server/srv_lsa_hnd.c	2001/04/02 22:39:08
@@ -109,7 +109,6 @@
 
 	ZERO_STRUCTP(pol);
 
-	pol->p = p;
 	pol->data_ptr = data_ptr;
 	pol->free_fn = free_fn;
 
@@ -189,9 +188,9 @@
 	if (pol->free_fn && pol->data_ptr)
 		(*pol->free_fn)(pol->data_ptr);
 
-	pol->p->pipe_handles->count--;
+	p->pipe_handles->count--;
 
-	DLIST_REMOVE(pol->p->pipe_handles->Policy, pol);
+	DLIST_REMOVE(p->pipe_handles->Policy, pol);
 
 	ZERO_STRUCTP(pol);
 

-- 
--------------------------------------------------------
Buying an operating system without source is like buying
a self-assembly Space Shuttle with no instructions.
--------------------------------------------------------




More information about the samba-technical mailing list