s3:modules fix Bug 8244 - Cannot copy files larger than 2 GB to Samba share
authorChristian Ambach <ambi@samba.org>
Fri, 17 Jun 2011 19:54:30 +0000 (21:54 +0200)
committerChristian Ambach <ambi@samba.org>
Fri, 17 Jun 2011 21:11:10 +0000 (23:11 +0200)
the time_audit module uses int instead of uint64 as return value
in get_alloc_size so that sizes of files larger than 2 GB are
cut of leading to wrong replies to NtCreateAndX and Windows
clients giving up

While checking the types of all functions, I found two more wrong
return value types that needed correction

Autobuild-User: Christian Ambach <ambi@samba.org>
Autobuild-Date: Fri Jun 17 23:11:10 CEST 2011 on sn-devel-104

source3/modules/vfs_time_audit.c

index 0f32619458a33e6434b2e5f23ab073a1054151ec..25332e4e0382da008bb93ab2f8e4a14f484a9d30 100644 (file)
@@ -564,7 +564,7 @@ static SMB_OFF_T smb_time_audit_lseek(vfs_handle_struct *handle,
                                      files_struct *fsp,
                                      SMB_OFF_T offset, int whence)
 {
-       ssize_t result;
+       SMB_OFF_T result;
        struct timespec ts1,ts2;
        double timediff;
 
@@ -721,7 +721,7 @@ static uint64_t smb_time_audit_get_alloc_size(vfs_handle_struct *handle,
                                              files_struct *fsp,
                                              const SMB_STRUCT_STAT *sbuf)
 {
-       int result;
+       uint64_t result;
        struct timespec ts1,ts2;
        double timediff;
 
@@ -2216,7 +2216,7 @@ static ssize_t smb_time_audit_aio_return(struct vfs_handle_struct *handle,
                                         struct files_struct *fsp,
                                         SMB_STRUCT_AIOCB *aiocb)
 {
-       int result;
+       ssize_t result;
        struct timespec ts1,ts2;
        double timediff;