? mx-samba-3.configure
? bin/stN7vcQa
? bin/stqOE15X
? modules/Kopie von vfs_audit.c
? modules/Kopie (2) von vfs_audit.c
Index: smbd/vfs.c
===================================================================
RCS file: /cvsroot/samba/source/smbd/vfs.c,v
retrieving revision 1.76
diff -u -r1.76 vfs.c
--- smbd/vfs.c	31 Mar 2003 15:06:34 -0000	1.76
+++ smbd/vfs.c	31 Mar 2003 15:21:49 -0000
 BOOL smb_register_vfs(const char *name, vfs_op_tuple *(*init)(const struct vfs_ops *, struct smb_vfs_handle_struct *), int version)
@@ -314,7 +314,7 @@
 {
 	const char **vfs_objects;
 	char *vfs_module, *vfs_path;
-	unsigned int i;
+	unsigned int i = 0;
 	unsigned int j = 0;
 	struct smb_vfs_handle_struct *handle;
 	
@@ -334,17 +333,20 @@
 
 	vfs_path = lp_vfs_path(SNUM(conn));
 	
-	for (j=0; vfs_objects[j]; j++) {
-		conn->vfs_private = NULL;
+	for (i=0; vfs_objects[i] ;) {
+		i++;
+	}
+
+	for (j=i; j>0 ; j--) {
 		handle = (struct smb_vfs_handle_struct *) smb_xmalloc(sizeof(smb_vfs_handle_struct));
 		/* Loadable object file */
 		handle->handle = NULL;
 		DLIST_ADD(conn->vfs_private, handle);
 		vfs_module = NULL;
 		if (vfs_path && *vfs_path) {
-			asprintf(&vfs_module, "%s/%s", vfs_path, vfs_objects[j]);
+			asprintf(&vfs_module, "%s/%s", vfs_path, vfs_objects[j-1]);
 		} else {
-			asprintf(&vfs_module, "%s", vfs_objects[j]);
+			asprintf(&vfs_module, "%s", vfs_objects[j-1]);
 		}
 		if (!vfs_init_custom(conn, vfs_module)) {
 			DEBUG(0, ("smbd_vfs_init: vfs_init_custom failed for %s\n", vfs_module));
