diff --git a/spm.c b/spm.c index 878f5d813b81e6675fc6b486be352fb272216ac9..124241664bc582678797bc996794d1b426a13343 100644 --- a/spm.c +++ b/spm.c @@ -294,10 +294,10 @@ spmFindBase( const pastix_spm_t *spm ) int spmConvert( int ofmttype, pastix_spm_t *spm ) { - if ( spm->dof != 1 ) { - spm = spmExpand( spm ); - } if ( conversionTable[spm->fmttype][ofmttype][spm->flttype] ) { + if ( spm->dof != 1 ) { + return PASTIX_ERR_NOTIMPLEMENTED; + } return conversionTable[spm->fmttype][ofmttype][spm->flttype]( spm ); } else { @@ -420,6 +420,10 @@ spmNorm( int ntype, ; } + if ( spmtmp != spm ) { + spmExit( spmtmp ); + free(spmtmp); + } return norm; }