[segyio] 199/376: Don't truncate filesize temporary.

Jørgen Kvalsvik jokva-guest at moszumanska.debian.org
Wed Sep 20 08:04:33 UTC 2017


This is an automated email from the git hooks/post-receive script.

jokva-guest pushed a commit to branch debian
in repository segyio.

commit 0a4886f13785c37334db5ecc7a719b543b282b24
Author: Jørgen Kvalsvik <jokva at statoil.com>
Date:   Fri Feb 17 09:29:30 2017 +0100

    Don't truncate filesize temporary.
    
    File sizes often go over the range of what an int can represent, so the
    intermediary type should be long long or some other >32bit type.
---
 lib/src/segy.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/src/segy.c b/lib/src/segy.c
index 93f802c..54e95db 100644
--- a/lib/src/segy.c
+++ b/lib/src/segy.c
@@ -681,19 +681,19 @@ int segy_traces( segy_file* fp,
                  long trace0,
                  int trace_bsize ) {
 
-    long long fsize;
-    int err = file_size( fp->fp, &fsize );
+    long long size;
+    int err = file_size( fp->fp, &size );
     if( err != 0 ) return err;
 
-    if( trace0 > fsize ) return SEGY_INVALID_ARGS;
+    if( trace0 > size ) return SEGY_INVALID_ARGS;
 
+    size -= trace0;
     trace_bsize += SEGY_TRACE_HEADER_SIZE;
-    const int trace_data_size = fsize - trace0;
 
-    if( trace_data_size % trace_bsize != 0 )
+    if( size % trace_bsize != 0 )
         return SEGY_TRACE_SIZE_MISMATCH;
 
-    *traces = trace_data_size / trace_bsize;
+    *traces = size / trace_bsize;
     return SEGY_OK;
 }
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/segyio.git



More information about the debian-science-commits mailing list