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

jra at samba.org jra at samba.org
Thu Feb 8 00:41:59 GMT 2007


Author: jra
Date: 2007-02-08 00:41:57 +0000 (Thu, 08 Feb 2007)
New Revision: 21229

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

Log:
Don't indirect through a potentially null pointer :-).
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-02-08 00:28:25 UTC (rev 21228)
+++ branches/SAMBA_3_0/source/smbd/trans2.c	2007-02-08 00:41:57 UTC (rev 21229)
@@ -2868,7 +2868,8 @@
  Store the FILE_UNIX_BASIC info.
 ****************************************************************************/
 
-static char *store_file_unix_basic(char *pdata,
+static char *store_file_unix_basic(connection_struct *conn,
+				char *pdata,
 				files_struct *fsp,
 				SMB_STRUCT_STAT *psbuf)
 {
@@ -2878,7 +2879,7 @@
 	SOFF_T(pdata,0,get_file_size(*psbuf));             /* File size 64 Bit */
 	pdata += 8;
 
-	SOFF_T(pdata,0,get_allocation_size(fsp->conn,fsp,psbuf)); /* Number of bytes used on disk - 64 Bit */
+	SOFF_T(pdata,0,get_allocation_size(conn,fsp,psbuf)); /* Number of bytes used on disk - 64 Bit */
 	pdata += 8;
 
 	put_long_date_timespec(pdata,get_ctimespec(psbuf));       /* Creation Time 64 Bit */
@@ -3524,7 +3525,7 @@
 
 		case SMB_QUERY_FILE_UNIX_BASIC:
 
-			pdata = store_file_unix_basic(pdata, fsp, &sbuf);
+			pdata = store_file_unix_basic(conn, pdata, fsp, &sbuf);
 			data_size = PTR_DIFF(pdata,(*ppdata));
 
 			{
@@ -4932,7 +4933,7 @@
 	if (info_level_return == SMB_QUERY_FILE_UNIX_BASIC) {
 		SSVAL(pdata,4,SMB_QUERY_FILE_UNIX_BASIC);
 		SSVAL(pdata,6,0); /* Padding. */
-		store_file_unix_basic(pdata + 8, fsp, psbuf);
+		store_file_unix_basic(conn, pdata + 8, fsp, psbuf);
 	} else {
 		SSVAL(pdata,4,SMB_NO_INFO_LEVEL_RETURNED);
 		SSVAL(pdata,6,0); /* Padding. */
@@ -5098,7 +5099,7 @@
 	if (info_level_return == SMB_QUERY_FILE_UNIX_BASIC) {
 		SSVAL(pdata,4,SMB_QUERY_FILE_UNIX_BASIC);
 		SSVAL(pdata,6,0); /* padding. */
-		store_file_unix_basic(pdata + 8, fsp, psbuf);
+		store_file_unix_basic(conn, pdata + 8, fsp, psbuf);
 	} else {
 		SSVAL(pdata,4,SMB_NO_INFO_LEVEL_RETURNED);
 		SSVAL(pdata,6,0); /* padding. */

Modified: branches/SAMBA_3_0_25/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_0_25/source/smbd/trans2.c	2007-02-08 00:28:25 UTC (rev 21228)
+++ branches/SAMBA_3_0_25/source/smbd/trans2.c	2007-02-08 00:41:57 UTC (rev 21229)
@@ -2868,7 +2868,8 @@
  Store the FILE_UNIX_BASIC info.
 ****************************************************************************/
 
-static char *store_file_unix_basic(char *pdata,
+static char *store_file_unix_basic(connection_struct *conn,
+				char *pdata,
 				files_struct *fsp,
 				SMB_STRUCT_STAT *psbuf)
 {
@@ -2878,7 +2879,7 @@
 	SOFF_T(pdata,0,get_file_size(*psbuf));             /* File size 64 Bit */
 	pdata += 8;
 
-	SOFF_T(pdata,0,get_allocation_size(fsp->conn,fsp,psbuf)); /* Number of bytes used on disk - 64 Bit */
+	SOFF_T(pdata,0,get_allocation_size(conn,fsp,psbuf)); /* Number of bytes used on disk - 64 Bit */
 	pdata += 8;
 
 	put_long_date_timespec(pdata,get_ctimespec(psbuf));       /* Creation Time 64 Bit */
@@ -3524,7 +3525,7 @@
 
 		case SMB_QUERY_FILE_UNIX_BASIC:
 
-			pdata = store_file_unix_basic(pdata, fsp, &sbuf);
+			pdata = store_file_unix_basic(conn, pdata, fsp, &sbuf);
 			data_size = PTR_DIFF(pdata,(*ppdata));
 
 			{
@@ -4926,7 +4927,7 @@
 	if (info_level_return == SMB_QUERY_FILE_UNIX_BASIC) {
 		SSVAL(pdata,4,SMB_QUERY_FILE_UNIX_BASIC);
 		SSVAL(pdata,6,0); /* Padding. */
-		store_file_unix_basic(pdata + 8, fsp, psbuf);
+		store_file_unix_basic(conn, pdata + 8, fsp, psbuf);
 	} else {
 		SSVAL(pdata,4,SMB_NO_INFO_LEVEL_RETURNED);
 		SSVAL(pdata,6,0); /* Padding. */
@@ -5092,7 +5093,7 @@
 	if (info_level_return == SMB_QUERY_FILE_UNIX_BASIC) {
 		SSVAL(pdata,4,SMB_QUERY_FILE_UNIX_BASIC);
 		SSVAL(pdata,6,0); /* padding. */
-		store_file_unix_basic(pdata + 8, fsp, psbuf);
+		store_file_unix_basic(conn, pdata + 8, fsp, psbuf);
 	} else {
 		SSVAL(pdata,4,SMB_NO_INFO_LEVEL_RETURNED);
 		SSVAL(pdata,6,0); /* padding. */



More information about the samba-cvs mailing list