svn commit: samba r3530 - in branches/SAMBA_4_0/source/ntvfs: .

tridge at samba.org tridge at samba.org
Thu Nov 4 12:12:09 GMT 2004


Author: tridge
Date: 2004-11-04 12:12:09 +0000 (Thu, 04 Nov 2004)
New Revision: 3530

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

Log:
make sure we match ntvfs_async_state_pop() with ntvfs_async_state_push()



Modified:
   branches/SAMBA_4_0/source/ntvfs/ntvfs_generic.c


Changeset:
Modified: branches/SAMBA_4_0/source/ntvfs/ntvfs_generic.c
===================================================================
--- branches/SAMBA_4_0/source/ntvfs/ntvfs_generic.c	2004-11-04 11:38:44 UTC (rev 3529)
+++ branches/SAMBA_4_0/source/ntvfs/ntvfs_generic.c	2004-11-04 12:12:09 UTC (rev 3530)
@@ -247,7 +247,8 @@
 			io->openx.out.access = OPENX_MODE_ACCESS_RDWR;
 			break;
 		default:
-			return NT_STATUS_INVALID_LOCK_SEQUENCE;
+			status = NT_STATUS_INVALID_LOCK_SEQUENCE;
+			goto done;
 		}
 		
 		switch (io->openx.in.open_mode & OPENX_MODE_DENY_MASK) {
@@ -280,7 +281,8 @@
 			io2->generic.in.share_access = NTCREATEX_SHARE_ACCESS_NONE;
 			break;
 		default:
-			return NT_STATUS_INVALID_LOCK_SEQUENCE;
+			status = NT_STATUS_INVALID_LOCK_SEQUENCE;
+			goto done;
 		}
 	
 		switch (io->openx.in.open_func) {
@@ -306,7 +308,8 @@
 				io2->generic.in.open_disposition = NTCREATEX_DISP_CREATE;
 				break;
 			}
-			return NT_STATUS_INVALID_LOCK_SEQUENCE;
+			status = NT_STATUS_INVALID_LOCK_SEQUENCE;
+			goto done;
 		}
 		
 		io2->generic.in.alloc_size = 0;
@@ -339,7 +342,8 @@
 		default:
 			DEBUG(2,("ntvfs_map_open(OPEN): invalid mode 0x%x\n",
 				 io->openold.in.flags & OPEN_FLAGS_MODE_MASK));
-			return NT_STATUS_INVALID_PARAMETER;
+			status = NT_STATUS_INVALID_PARAMETER;
+			goto done;
 		}
 		
 		switch (io->openold.in.flags & OPEN_FLAGS_DENY_MASK) {
@@ -375,16 +379,19 @@
 		default:
 			DEBUG(2,("ntvfs_map_open(OPEN): invalid DENY 0x%x\n",
 				 io->openold.in.flags & OPEN_FLAGS_DENY_MASK));
-			return NT_STATUS_INVALID_PARAMETER;
+			status = NT_STATUS_INVALID_PARAMETER;
+			goto done;
 		}
 
 		status = ntvfs->ops->openfile(ntvfs, req, io2);
 		break;
 
 	default:
-		return NT_STATUS_INVALID_LEVEL;
+		status = NT_STATUS_INVALID_LEVEL;
+		break;
 	}
 
+done:
 	return ntvfs_map_async_finish(req, status);
 }
 
@@ -1080,7 +1087,8 @@
 
 		lck = talloc_p(rd2, union smb_lock);
 		if (lck == NULL) {
-			return NT_STATUS_NO_MEMORY;
+			status = NT_STATUS_NO_MEMORY;
+			goto done;
 		}
 		lck->lock.level      = RAW_LOCK_LOCK;
 		lck->lock.in.fnum    = rd->lockread.in.fnum;
@@ -1102,6 +1110,7 @@
 		break;
 	}
 
+done:
 	return ntvfs_map_async_finish(req, status);
 }
 



More information about the samba-cvs mailing list