Merge remote-tracking branch 'origin/master' into YaSp
[scilab.git] / scilab / modules / hdf5 / src / c / h5_readDataFromFile.c
index 8fbd8c9..8aeb36c 100644 (file)
@@ -159,6 +159,7 @@ static char* readAttribute(int _iDatasetId, const char *_pstName)
         status = H5Tset_size(memtype, iDim);
         if (status < 0)
         {
+            FREE(pstValue);
             return NULL;
         }
 
@@ -274,6 +275,7 @@ int getDatasetInfo(int _iDatasetId, int* _iComplex, int* _iDims, int* _piDims)
         hsize_t* dims = (hsize_t*)MALLOC(sizeof(hsize_t) * *_iDims);
         if (H5Sget_simple_extent_dims(space, dims, NULL) < 0)
         {
+            FREE(dims);
             return -1;
         }
 
@@ -508,6 +510,7 @@ int readDoubleComplexMatrix(int _iDatasetId, double *_pdblReal, double *_pdblImg
     status = H5Dread(_iDatasetId, compoundId, H5S_ALL, H5S_ALL, H5P_DEFAULT, pData);
     if (status < 0)
     {
+        FREE(pData);
         return -1;
     }