svn commit: samba r21952 - in branches: SAMBA_3_0/source/smbd SAMBA_3_0_25/source/smbd

jra at samba.org jra at samba.org
Fri Mar 23 21:11:09 GMT 2007


Author: jra
Date: 2007-03-23 21:11:08 +0000 (Fri, 23 Mar 2007)
New Revision: 21952

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

Log:
Fix critical (!) error found by IBM checker.
Missing break statements meant that no info
levels would ever be returned correctly from
POSIX open/mkdir.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/smbd/trans2.c
   branches/SAMBA_3_0_25/source/smbd/trans2.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/trans2.c	2007-03-23 20:28:45 UTC (rev 21951)
+++ branches/SAMBA_3_0/source/smbd/trans2.c	2007-03-23 21:11:08 UTC (rev 21952)
@@ -5329,17 +5329,20 @@
 	SIVAL(pdata,4,info); /* Was directory created. */
 
 	switch (info_level_return) {
-	case SMB_QUERY_FILE_UNIX_BASIC:
-		SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_BASIC);
-		SSVAL(pdata,10,0); /* Padding. */
-		store_file_unix_basic(conn, pdata + 12, fsp, psbuf);
-	case SMB_QUERY_FILE_UNIX_INFO2:
-		SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_INFO2);
-		SSVAL(pdata,10,0); /* Padding. */
-		store_file_unix_basic_info2(conn, pdata + 12, fsp, psbuf);
-	default:
-		SSVAL(pdata,8,SMB_NO_INFO_LEVEL_RETURNED);
-		SSVAL(pdata,10,0); /* Padding. */
+		case SMB_QUERY_FILE_UNIX_BASIC:
+			SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_BASIC);
+			SSVAL(pdata,10,0); /* Padding. */
+			store_file_unix_basic(conn, pdata + 12, fsp, psbuf);
+			break;
+		case SMB_QUERY_FILE_UNIX_INFO2:
+			SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_INFO2);
+			SSVAL(pdata,10,0); /* Padding. */
+			store_file_unix_basic_info2(conn, pdata + 12, fsp, psbuf);
+			break;
+		default:
+			SSVAL(pdata,8,SMB_NO_INFO_LEVEL_RETURNED);
+			SSVAL(pdata,10,0); /* Padding. */
+			break;
 	}
 
 	return status;
@@ -5513,17 +5516,20 @@
 	SIVAL(pdata,4,info); /* Was file created etc. */
 
 	switch (info_level_return) {
-	case SMB_QUERY_FILE_UNIX_BASIC:
-		SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_BASIC);
-		SSVAL(pdata,10,0); /* padding. */
-		store_file_unix_basic(conn, pdata + 12, fsp, psbuf);
-	case SMB_QUERY_FILE_UNIX_INFO2:
-		SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_INFO2);
-		SSVAL(pdata,10,0); /* padding. */
-		store_file_unix_basic_info2(conn, pdata + 12, fsp, psbuf);
-	default:
-		SSVAL(pdata,8,SMB_NO_INFO_LEVEL_RETURNED);
-		SSVAL(pdata,10,0); /* padding. */
+		case SMB_QUERY_FILE_UNIX_BASIC:
+			SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_BASIC);
+			SSVAL(pdata,10,0); /* padding. */
+			store_file_unix_basic(conn, pdata + 12, fsp, psbuf);
+			break;
+		case SMB_QUERY_FILE_UNIX_INFO2:
+			SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_INFO2);
+			SSVAL(pdata,10,0); /* padding. */
+			store_file_unix_basic_info2(conn, pdata + 12, fsp, psbuf);
+			break;
+		default:
+			SSVAL(pdata,8,SMB_NO_INFO_LEVEL_RETURNED);
+			SSVAL(pdata,10,0); /* padding. */
+			break;
 	}
 	return NT_STATUS_OK;
 }

Modified: branches/SAMBA_3_0_25/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_0_25/source/smbd/trans2.c	2007-03-23 20:28:45 UTC (rev 21951)
+++ branches/SAMBA_3_0_25/source/smbd/trans2.c	2007-03-23 21:11:08 UTC (rev 21952)
@@ -5295,17 +5295,20 @@
 	SIVAL(pdata,4,info); /* Was directory created. */
 
 	switch (info_level_return) {
-	case SMB_QUERY_FILE_UNIX_BASIC:
-		SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_BASIC);
-		SSVAL(pdata,10,0); /* Padding. */
-		store_file_unix_basic(conn, pdata + 12, fsp, psbuf);
-	case SMB_QUERY_FILE_UNIX_INFO2:
-		SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_INFO2);
-		SSVAL(pdata,10,0); /* Padding. */
-		store_file_unix_basic_info2(conn, pdata + 12, fsp, psbuf);
-	default:
-		SSVAL(pdata,8,SMB_NO_INFO_LEVEL_RETURNED);
-		SSVAL(pdata,10,0); /* Padding. */
+		case SMB_QUERY_FILE_UNIX_BASIC:
+			SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_BASIC);
+			SSVAL(pdata,10,0); /* Padding. */
+			store_file_unix_basic(conn, pdata + 12, fsp, psbuf);
+			break;
+		case SMB_QUERY_FILE_UNIX_INFO2:
+			SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_INFO2);
+			SSVAL(pdata,10,0); /* Padding. */
+			store_file_unix_basic_info2(conn, pdata + 12, fsp, psbuf);
+			break;
+		default:
+			SSVAL(pdata,8,SMB_NO_INFO_LEVEL_RETURNED);
+			SSVAL(pdata,10,0); /* Padding. */
+			break;
 	}
 
 	return status;
@@ -5479,17 +5482,20 @@
 	SIVAL(pdata,4,info); /* Was file created etc. */
 
 	switch (info_level_return) {
-	case SMB_QUERY_FILE_UNIX_BASIC:
-		SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_BASIC);
-		SSVAL(pdata,10,0); /* padding. */
-		store_file_unix_basic(conn, pdata + 12, fsp, psbuf);
-	case SMB_QUERY_FILE_UNIX_INFO2:
-		SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_INFO2);
-		SSVAL(pdata,10,0); /* padding. */
-		store_file_unix_basic_info2(conn, pdata + 12, fsp, psbuf);
-	default:
-		SSVAL(pdata,8,SMB_NO_INFO_LEVEL_RETURNED);
-		SSVAL(pdata,10,0); /* padding. */
+		case SMB_QUERY_FILE_UNIX_BASIC:
+			SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_BASIC);
+			SSVAL(pdata,10,0); /* padding. */
+			store_file_unix_basic(conn, pdata + 12, fsp, psbuf);
+			break;
+		case SMB_QUERY_FILE_UNIX_INFO2:
+			SSVAL(pdata,8,SMB_QUERY_FILE_UNIX_INFO2);
+			SSVAL(pdata,10,0); /* padding. */
+			store_file_unix_basic_info2(conn, pdata + 12, fsp, psbuf);
+			break;
+		default:
+			SSVAL(pdata,8,SMB_NO_INFO_LEVEL_RETURNED);
+			SSVAL(pdata,10,0); /* padding. */
+			break;
 	}
 	return NT_STATUS_OK;
 }



More information about the samba-cvs mailing list