This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MPICH primary repository". The branch, master has been updated via 238a3f9a5228aa22388a0e1fd7458903e218bfc8 (commit) via 53e283ed7c7856e419c714b1b6466fb93fa5f356 (commit) via 395cf9e052a69a7089b462ac08051a766e16d866 (commit) via 382856b05557d0a2f5c2f9f88134e56d0206172d (commit) from 60ca21cf73d3cd3d74d36ac4bae50f37d904dfc9 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.mpich.org/mpich.git/commitdiff/238a3f9a5228aa22388a0e1fd7458903e2... commit 238a3f9a5228aa22388a0e1fd7458903e218bfc8 Author: Rob Latham <[email protected]> Date: Mon Feb 15 15:13:44 2016 -0600 actually do something if we run out of memory coverity id #105083 No Reviewer diff --git a/src/mpi/romio/adio/common/ad_open.c b/src/mpi/romio/adio/common/ad_open.c index e3f2d34..8fb3d2f 100644 --- a/src/mpi/romio/adio/common/ad_open.c +++ b/src/mpi/romio/adio/common/ad_open.c @@ -38,6 +38,14 @@ MPI_File ADIO_Open(MPI_Comm orig_comm, /* obtain MPI_File handle */ mpi_fh = MPIO_File_create(sizeof(struct ADIOI_FileD)); if (mpi_fh == MPI_FILE_NULL) { + *error_code = MPIO_Err_create_code(*error_code, + MPIR_ERR_RECOVERABLE, + myname, + __LINE__, + MPI_ERR_OTHER, + "**nomem2",0); + goto fn_exit; + } fd = MPIO_File_resolve(mpi_fh); http://git.mpich.org/mpich.git/commitdiff/53e283ed7c7856e419c714b1b6466fb93f... commit 53e283ed7c7856e419c714b1b6466fb93fa5f356 Author: Rob Latham <[email protected]> Date: Mon Feb 15 15:08:47 2016 -0600 checking for null before calling free unnecessary Coverity 105082 Coverity 105083 Coverity 105360 diff --git a/src/mpi/romio/adio/common/ad_close.c b/src/mpi/romio/adio/common/ad_close.c index 01cf1ba..49bc8ad 100644 --- a/src/mpi/romio/adio/common/ad_close.c +++ b/src/mpi/romio/adio/common/ad_close.c @@ -60,8 +60,8 @@ void ADIO_Close(ADIO_File fd, int *error_code) ADIOI_Ftable[fd->fortran_handle] = MPI_FILE_NULL; } - if (fd->hints && fd->hints->ranklist) ADIOI_Free(fd->hints->ranklist); - if (fd->hints && fd->hints->cb_config_list) ADIOI_Free(fd->hints->cb_config_list); + if (fd->hints) ADIOI_Free(fd->hints->ranklist); + if (fd->hints) ADIOI_Free(fd->hints->cb_config_list); /* This BlueGene platform-specific free must be done in the common code * because the malloc's for these hint data structures are done at the @@ -71,9 +71,9 @@ void ADIO_Close(ADIO_File fd, int *error_code) * ADIOI_GPFS_Close and re-open via ADIOI_GPFS_Open are done which results * in a double-free - ADIOI_GPFS_Open does not redo the SetInfo... */ #ifdef BGQPLATFORM - if (fd->hints && fd->hints->fs_hints.bg.bridgelist) + if (fd->hints) ADIOI_Free(fd->hints->fs_hints.bg.bridgelist); - if (fd->hints && fd->hints->fs_hints.bg.bridgelistnum) + if (fd->hints) ADIOI_Free(fd->hints->fs_hints.bg.bridgelistnum); #endif @@ -95,7 +95,7 @@ void ADIO_Close(ADIO_File fd, int *error_code) ADIOI_Free(fd->file_realm_st_offs); ADIOI_Free(fd->file_realm_types); } - if (fd->hints) ADIOI_Free(fd->hints); + ADIOI_Free(fd->hints); @@ -113,7 +113,7 @@ void ADIO_Close(ADIO_File fd, int *error_code) MPI_Info_free(&(fd->info)); - if (fd->io_buf != NULL) ADIOI_Free(fd->io_buf); + ADIOI_Free(fd->io_buf); ADIOI_OneSidedCleanup(fd); /* memory for fd is freed in MPI_File_close */ diff --git a/src/mpi/romio/adio/common/ad_open.c b/src/mpi/romio/adio/common/ad_open.c index 75f8e0a..e3f2d34 100644 --- a/src/mpi/romio/adio/common/ad_open.c +++ b/src/mpi/romio/adio/common/ad_open.c @@ -192,12 +192,12 @@ MPI_File ADIO_Open(MPI_Comm orig_comm, (*(fd->fns->ADIOI_xxx_Close))(fd, error_code); } } - if (fd->filename) ADIOI_Free(fd->filename); - if (fd->hints->ranklist) ADIOI_Free(fd->hints->ranklist); - if (fd->hints->cb_config_list) ADIOI_Free(fd->hints->cb_config_list); - if (fd->hints) ADIOI_Free(fd->hints); + ADIOI_Free(fd->filename); + ADIOI_Free(fd->hints->ranklist); + ADIOI_Free(fd->hints->cb_config_list); + ADIOI_Free(fd->hints); if (fd->info != MPI_INFO_NULL) MPI_Info_free(&(fd->info)); - if (fd->io_buf) ADIOI_Free(fd->io_buf); + ADIOI_Free(fd->io_buf); ADIOI_Free(fd); fd = ADIO_FILE_NULL; if (*error_code == MPI_SUCCESS) http://git.mpich.org/mpich.git/commitdiff/395cf9e052a69a7089b462ac08051a766e... commit 395cf9e052a69a7089b462ac08051a766e16d866 Author: Rob Latham <[email protected]> Date: Mon Feb 15 13:32:30 2016 -0600 coverity: free memory in error cases coverity id: #105295 Coverity id: #105348 Coverity id: #105251 Coverity id: #105284 Coverity id: #105285 coverity id: #105324 coverity id: #105325 coverity id: #105326 coverity id: #105327 diff --git a/src/mpi/romio/adio/common/ad_fstype.c b/src/mpi/romio/adio/common/ad_fstype.c index c89b560..75fb24f 100644 --- a/src/mpi/romio/adio/common/ad_fstype.c +++ b/src/mpi/romio/adio/common/ad_fstype.c @@ -192,8 +192,8 @@ static void ADIO_FileSysType_parentdir(const char *filename, char **dirnamep) /* successfully read the link */ linkbuf[namelen] = '\0'; /* readlink doesn't null terminate */ dir = ADIOI_Strdup(linkbuf); - ADIOI_Free(linkbuf); } + ADIOI_Free(linkbuf); } slash = strrchr(dir, '/'); diff --git a/src/mpi/romio/adio/common/ad_hints.c b/src/mpi/romio/adio/common/ad_hints.c index 869db03..83f0533 100644 --- a/src/mpi/romio/adio/common/ad_hints.c +++ b/src/mpi/romio/adio/common/ad_hints.c @@ -259,6 +259,7 @@ void ADIOI_GEN_SetInfo(ADIO_File fd, MPI_Info users_info, int *error_code) len = (strlen(ADIOI_CB_CONFIG_LIST_DFLT)+1) * sizeof(char); fd->hints->cb_config_list = ADIOI_Malloc(len); if (fd->hints->cb_config_list == NULL) { + ADIOI_Free(value); *error_code = MPIO_Err_create_code(*error_code, MPIR_ERR_RECOVERABLE, myname, diff --git a/src/mpi/romio/adio/common/ad_iwrite.c b/src/mpi/romio/adio/common/ad_iwrite.c index 0a3d97e..e72af5f 100644 --- a/src/mpi/romio/adio/common/ad_iwrite.c +++ b/src/mpi/romio/adio/common/ad_iwrite.c @@ -162,6 +162,8 @@ int ADIOI_GEN_aio(ADIO_File fd, void *buf, int len, ADIO_Offset offset, if (aio_req != NULL) ADIOI_Free(aio_req); return 0; } else { + ADIOI_Free(aio_req); + ADIOI_Free(aiocbp); return errno; } } diff --git a/src/mpi/romio/adio/common/cb_config_list.c b/src/mpi/romio/adio/common/cb_config_list.c index 6b4d82c..d7031ba 100644 --- a/src/mpi/romio/adio/common/cb_config_list.c +++ b/src/mpi/romio/adio/common/cb_config_list.c @@ -202,6 +202,7 @@ int ADIOI_cb_gather_name_array(MPI_Comm comm, procname[0] = ADIOI_Malloc(alloc_size); if (procname[0] == NULL) { + ADIOI_Free(array); return -1; } diff --git a/src/mpi/romio/adio/common/hint_fns.c b/src/mpi/romio/adio/common/hint_fns.c index 34c898b..5e87e88 100644 --- a/src/mpi/romio/adio/common/hint_fns.c +++ b/src/mpi/romio/adio/common/hint_fns.c @@ -12,7 +12,7 @@ int ADIOI_Info_check_and_install_int(ADIO_File fd, MPI_Info info, const char *key, int *local_cache, char *funcname, int *error_code) { - int intval, tmp_val, flag; + int intval, tmp_val, flag, ret=0; char *value; value = (char *) ADIOI_Malloc((MPI_MAX_INFO_VAL+1)*sizeof(char)); @@ -37,7 +37,8 @@ int ADIOI_Info_check_and_install_int(ADIO_File fd, MPI_Info info, const char *ke MPIO_ERR_CREATE_CODE_INFO_NOT_SAME(funcname, key, error_code); - return -1; + ret = -1; + goto fn_exit; } /* --END ERROR HANDLING-- */ @@ -45,14 +46,15 @@ int ADIOI_Info_check_and_install_int(ADIO_File fd, MPI_Info info, const char *ke /* some file systems do not cache hints in the fd struct */ if (local_cache != NULL) *local_cache = intval; } +fn_exit: ADIOI_Free(value); - return 0; + return ret; } int ADIOI_Info_check_and_install_enabled(ADIO_File fd, MPI_Info info, const char *key, int *local_cache, char *funcname, int *error_code) { - int tmp_val, flag; + int tmp_val, flag, ret=0; char *value; value = (char *) ADIOI_Malloc((MPI_MAX_INFO_VAL+1)*sizeof(char)); @@ -90,17 +92,19 @@ int ADIOI_Info_check_and_install_enabled(ADIO_File fd, MPI_Info info, const char MPIO_ERR_CREATE_CODE_INFO_NOT_SAME(funcname, key, error_code); - return -1; + ret = -1; + goto fn_exit; } /* --END ERROR HANDLING-- */ } +fn_exit: ADIOI_Free(value); - return 0; + return ret; } int ADIOI_Info_check_and_install_true(ADIO_File fd, MPI_Info info, const char *key, int *local_cache, char *funcname, int *error_code) { - int flag, tmp_val; + int flag, tmp_val, ret=0; char *value; value = (char *) ADIOI_Malloc((MPI_MAX_INFO_VAL+1)*sizeof(char)); @@ -132,18 +136,19 @@ int ADIOI_Info_check_and_install_true(ADIO_File fd, MPI_Info info, const char *k MPIO_ERR_CREATE_CODE_INFO_NOT_SAME(funcname, key, error_code); - return -1; + ret = -1; + goto fn_exit; } /* --END ERROR HANDLING-- */ } - +fn_exit: ADIOI_Free(value); - return 0; + return ret; } int ADIOI_Info_check_and_install_str(ADIO_File fd, MPI_Info info, const char *key, char **local_cache, char *funcname, int *error_code) { - int flag; + int flag, ret; size_t len; char *value; @@ -171,7 +176,8 @@ int ADIOI_Info_check_and_install_str(ADIO_File fd, MPI_Info info, const char *ke __LINE__, MPI_ERR_OTHER, "**nomem2",0); - return -1; + ret = -1; + goto fn_exit; } ADIOI_Strncpy(*local_cache, value, len); } @@ -179,6 +185,7 @@ int ADIOI_Info_check_and_install_str(ADIO_File fd, MPI_Info info, const char *ke * otherwise we would get an error if someone used the same * info value with a cb_config_list value in it in a couple * of calls, which would be irritating. */ +fn_exit: ADIOI_Free(value); - return 0; + return ret; } http://git.mpich.org/mpich.git/commitdiff/382856b05557d0a2f5c2f9f88134e56d02... commit 382856b05557d0a2f5c2f9f88134e56d0206172d Author: Rob Latham <[email protected]> Date: Mon Feb 15 13:47:32 2016 -0600 coverity found more strange pointer comparision Coverity Id: #104918 Coverity Id: #104919 diff --git a/src/mpi/romio/mpi-io/fsync.c b/src/mpi/romio/mpi-io/fsync.c index 7b2ef12..00c9499 100644 --- a/src/mpi/romio/mpi-io/fsync.c +++ b/src/mpi/romio/mpi-io/fsync.c @@ -49,7 +49,7 @@ int MPI_File_sync(MPI_File fh) adio_fh = MPIO_File_resolve(fh); /* --BEGIN ERROR HANDLING-- */ - if ((adio_fh <= (MPI_File) 0) || ((adio_fh)->cookie != ADIOI_FILE_COOKIE)) + if ((adio_fh == NULL) || ((adio_fh)->cookie != ADIOI_FILE_COOKIE)) { error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE, myname, __LINE__, MPI_ERR_ARG, diff --git a/src/mpi/romio/mpi-io/get_view.c b/src/mpi/romio/mpi-io/get_view.c index e6d1d63..6919849 100644 --- a/src/mpi/romio/mpi-io/get_view.c +++ b/src/mpi/romio/mpi-io/get_view.c @@ -56,7 +56,7 @@ int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, /* --BEGIN ERROR HANDLING-- */ MPIO_CHECK_FILE_HANDLE(adio_fh, myname, error_code); - if (datarep <= (char *) 0) + if (datarep == NULL) { error_code = MPIO_Err_create_code(MPI_SUCCESS, MPIR_ERR_RECOVERABLE, myname, __LINE__, MPI_ERR_ARG, ----------------------------------------------------------------------- Summary of changes: src/mpi/romio/adio/common/ad_close.c | 12 +++++----- src/mpi/romio/adio/common/ad_fstype.c | 2 +- src/mpi/romio/adio/common/ad_hints.c | 1 + src/mpi/romio/adio/common/ad_iwrite.c | 2 + src/mpi/romio/adio/common/ad_open.c | 18 +++++++++++---- src/mpi/romio/adio/common/cb_config_list.c | 1 + src/mpi/romio/adio/common/hint_fns.c | 33 +++++++++++++++++----------- src/mpi/romio/mpi-io/fsync.c | 2 +- src/mpi/romio/mpi-io/get_view.c | 2 +- 9 files changed, 46 insertions(+), 27 deletions(-) hooks/post-receive -- MPICH primary repository