r5637: Actually test and fix the crash bugs (sorry:-).
authorJeremy Allison <jra@samba.org>
Thu, 3 Mar 2005 04:03:36 +0000 (04:03 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:55:52 +0000 (10:55 -0500)
Jeremy.

source/smbd/nttrans.c
source/smbd/reply.c
source/smbd/trans2.c

index aaf1d1679b3cdb5840914cb4dac00b09cf96f772..eb2232942be74bafdf69ea983558f566c3b75b03 100644 (file)
@@ -1012,7 +1012,7 @@ create_options = 0x%x root_dir_fid = 0x%x\n", flags, desired_access, file_attrib
        p += 8;
        SIVAL(p,0,fmode); /* File Attributes. */
        p += 4;
-       SOFF_T(p, 0, get_allocation_size(fsp,&sbuf));
+       SOFF_T(p, 0, get_allocation_size(conn,fsp,&sbuf));
        p += 8;
        SOFF_T(p,0,file_len);
        p += 8;
@@ -1529,7 +1529,7 @@ static int call_nt_transact_create(connection_struct *conn, char *inbuf, char *o
        p += 8;
        SIVAL(p,0,fmode); /* File Attributes. */
        p += 4;
-       SOFF_T(p, 0, get_allocation_size(fsp,&sbuf));
+       SOFF_T(p, 0, get_allocation_size(conn,fsp,&sbuf));
        p += 8;
        SOFF_T(p,0,file_len);
        p += 8;
index 89183aed347abf3a3d148f62947849a3f8b6185d..2dfeebbb9f73da0a1e94518ff5599c549900bf3c 100644 (file)
@@ -5176,7 +5176,7 @@ int reply_getattrE(connection_struct *conn, char *inbuf,char *outbuf, int size,
                SIVAL(outbuf,smb_vwv6,0);
                SIVAL(outbuf,smb_vwv8,0);
        } else {
-               uint32 allocation_size = get_allocation_size(fsp, &sbuf);
+               uint32 allocation_size = get_allocation_size(conn,fsp, &sbuf);
                SIVAL(outbuf,smb_vwv6,(uint32)sbuf.st_size);
                SIVAL(outbuf,smb_vwv8,allocation_size);
        }
index 16cea326f928cb31e524e47cb93d6763f862716e..93e497134a7654c946796063ccca0323ae6759aa 100644 (file)
@@ -54,7 +54,7 @@ SMB_BIG_UINT smb_roundup(connection_struct *conn, SMB_BIG_UINT val)
  account sparse files.
 ********************************************************************/
 
-SMB_BIG_UINT get_allocation_size(files_struct *fsp, SMB_STRUCT_STAT *sbuf)
+SMB_BIG_UINT get_allocation_size(connection_struct *conn, files_struct *fsp, SMB_STRUCT_STAT *sbuf)
 {
        SMB_BIG_UINT ret;
 
@@ -67,7 +67,7 @@ SMB_BIG_UINT get_allocation_size(files_struct *fsp, SMB_STRUCT_STAT *sbuf)
        if (!ret && fsp && fsp->initial_allocation_size)
                ret = fsp->initial_allocation_size;
 
-       return smb_roundup(fsp->conn, ret);
+       return smb_roundup(conn, ret);
 }
 
 /****************************************************************************
@@ -936,7 +936,7 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn,
                        }
 
                        file_size = get_file_size(sbuf);
-                       allocation_size = get_allocation_size(NULL,&sbuf);
+                       allocation_size = get_allocation_size(conn,NULL,&sbuf);
                        mdate = sbuf.st_mtime;
                        adate = sbuf.st_atime;
                        cdate = get_create_time(&sbuf,lp_fake_dir_create_times(SNUM(conn)));
@@ -1232,7 +1232,7 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn,
                        SOFF_T(p,0,get_file_size(sbuf));             /* File size 64 Bit */
                        p+= 8;
 
-                       SOFF_T(p,0,get_allocation_size(NULL,&sbuf)); /* Number of bytes used on disk - 64 Bit */
+                       SOFF_T(p,0,get_allocation_size(conn,NULL,&sbuf)); /* Number of bytes used on disk - 64 Bit */
                        p+= 8;
 
                        put_long_date(p,sbuf.st_ctime);       /* Inode change Time 64 Bit */
@@ -2439,7 +2439,7 @@ static int call_trans2qfilepathinfo(connection_struct *conn, char *inbuf, char *
 
        fullpathname = fname;
        file_size = get_file_size(sbuf);
-       allocation_size = get_allocation_size(fsp,&sbuf);
+       allocation_size = get_allocation_size(conn,fsp,&sbuf);
        if (mode & aDIR) {
                /* This is necessary, as otherwise the desktop.ini file in
                 * this folder is ignored */
@@ -2785,7 +2785,7 @@ static int call_trans2qfilepathinfo(connection_struct *conn, char *inbuf, char *
                        SOFF_T(pdata,0,get_file_size(sbuf));             /* File size 64 Bit */
                        pdata += 8;
 
-                       SOFF_T(pdata,0,get_allocation_size(fsp,&sbuf)); /* Number of bytes used on disk - 64 Bit */
+                       SOFF_T(pdata,0,get_allocation_size(conn,fsp,&sbuf)); /* Number of bytes used on disk - 64 Bit */
                        pdata += 8;
 
                        put_long_date(pdata,sbuf.st_ctime);       /* Creation Time 64 Bit */