diff --git a/data-access/engine/src/common/src/fits_header.cpp b/data-access/engine/src/common/src/fits_header.cpp index c569d0cbb5b56704501ef00b8df2e0d9bf54613f..ef4d250b28888f4fe2a6d739892e2f2aaf3aeb3a 100644 --- a/data-access/engine/src/common/src/fits_header.cpp +++ b/data-access/engine/src/common/src/fits_header.cpp @@ -321,7 +321,8 @@ void fits::header::open_fitsfile(std::string pathname, unsigned long hdunum, int if ( !fits_open_file(&fptr, pathname.c_str(), iomode, &status) ) { - if( !fits_movabs_hdu(fptr, hdunum, NULL, &status) ) + if(hdunum > INT_MAX) throw runtime_error("hdunum too big: " + to_string(hdunum)); + if( !fits_movabs_hdu(fptr, (int)hdunum, NULL, &status) ) { this->hdunum = hdunum; int hdutype = -1;