[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