[segyio] 264/376: Make segy_mmap exception safe
Jørgen Kvalsvik
jokva-guest at moszumanska.debian.org
Wed Sep 20 08:04:42 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 bdcb25068e69e09fb95e6479ff3981c9d9f9055d
Author: Jørgen Kvalsvik <jokva at statoil.com>
Date: Wed Mar 29 13:43:37 2017 +0200
Make segy_mmap exception safe
Don't modify the segy_file handle until we know the mmap was successful,
i.e. if the operation change the segy_file remains unchanged.
---
lib/src/segy.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/src/segy.c b/lib/src/segy.c
index 07d693f..d26026d 100644
--- a/lib/src/segy.c
+++ b/lib/src/segy.c
@@ -360,18 +360,18 @@ int segy_mmap( segy_file* fp ) {
int err = file_size( fp->fp, &fsize );
if( err != 0 ) return SEGY_FSEEK_ERROR;
- fp->fsize = fsize;
bool rw = strstr( fp->mode, "+" ) || strstr( fp->mode, "w" );
const int prot = rw ? PROT_READ | PROT_WRITE : PROT_READ;
int fd = fileno( fp->fp );
- void* addr = mmap( NULL, fp->fsize, prot, MAP_SHARED, fd, 0 );
+ void* addr = mmap( NULL, fsize, prot, MAP_SHARED, fd, 0 );
if( addr == MAP_FAILED )
return SEGY_MMAP_ERROR;
fp->addr = fp->cur = addr;
+ fp->fsize = fsize;
return SEGY_OK;
#endif //HAVE_MMAP
}
--
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