diff --git a/mex/sources/bytecode/ErrorHandling.hh b/mex/sources/bytecode/ErrorHandling.hh
index b03599444164566125186d40e0aad4c62e9ebcb7..82d4b2c8c9a45680ae87aa488a6543c935520476 100644
--- a/mex/sources/bytecode/ErrorHandling.hh
+++ b/mex/sources/bytecode/ErrorHandling.hh
@@ -2237,7 +2237,7 @@ public:
   inline
   test_mxMalloc(void *z, int line, string file, string func, int amount)
   {
-    if (!z && (amount > 0))
+    if (z == NULL && (amount > 0))
       {
         ostringstream tmp;
         tmp << " mxMalloc: out of memory " << amount << " bytes required at line " << line << " in function " << func << " (file " << file;
diff --git a/mex/sources/bytecode/Evaluate.cc b/mex/sources/bytecode/Evaluate.cc
index c0860b011451240bed25e427dda82dd5a9313f76..16b4e4d228bb21da1759bf4abb65c59b901cf931 100644
--- a/mex/sources/bytecode/Evaluate.cc
+++ b/mex/sources/bytecode/Evaluate.cc
@@ -1539,14 +1539,14 @@ Evaluate::solve_simple_one_periods()
       Per_y_ = it_*y_size;
       ya = y[Block_Contain[0].Variable + Per_y_];
       compute_block_time(0, false, false);
-      if (!finite(res1))
+      if (!isfinite(res1))
         {
           res1 = NAN;
           while ((isinf(res1) || isnan(res1)) && (slowc > 1e-9))
             {
               it_code = start_code;
               compute_block_time(0, false, false);
-              if (!finite(res1))
+              if (!isfinite(res1))
                 {
                   slowc /= 1.5;
                   mexPrintf("Reducing the path length in Newton step slowc=%f\n", slowc);
diff --git a/mex/sources/bytecode/SparseMatrix.cc b/mex/sources/bytecode/SparseMatrix.cc
index 7526bbf4ee0032aef7495aa5382de04ebd91b937..7db7341cbac531666a356e256a1a1eb8ca0f6ce9 100644
--- a/mex/sources/bytecode/SparseMatrix.cc
+++ b/mex/sources/bytecode/SparseMatrix.cc
@@ -663,9 +663,9 @@ dynSparseMatrix::Simple_Init(int Size, map<pair<pair<int, int>, int>, int> &IM,
   FNZE_C = (NonZeroElem **) mxMalloc(i);
   test_mxMalloc(FNZE_C, __LINE__, __FILE__, __func__, i);
   NonZeroElem **temp_NZE_R = (NonZeroElem **) mxMalloc(i);
-  test_mxMalloc(*temp_NZE_R, __LINE__, __FILE__, __func__, i);
+  test_mxMalloc(temp_NZE_R, __LINE__, __FILE__, __func__, i);
   NonZeroElem **temp_NZE_C = (NonZeroElem **) mxMalloc(i);
-  test_mxMalloc(*temp_NZE_C, __LINE__, __FILE__, __func__, i);
+  test_mxMalloc(temp_NZE_C, __LINE__, __FILE__, __func__, i);
   i = Size*sizeof(int);
   NbNZRow = (int *) mxMalloc(i);
   test_mxMalloc(NbNZRow, __LINE__, __FILE__, __func__, i);
@@ -1900,9 +1900,9 @@ dynSparseMatrix::Init_GE(int periods, int y_kmin, int y_kmax, int Size, map<pair
   FNZE_C = (NonZeroElem **) mxMalloc(i);
   test_mxMalloc(FNZE_C, __LINE__, __FILE__, __func__, i);
   NonZeroElem **temp_NZE_R = (NonZeroElem **) mxMalloc(i);
-  test_mxMalloc(*temp_NZE_R, __LINE__, __FILE__, __func__, i);
+  test_mxMalloc(temp_NZE_R, __LINE__, __FILE__, __func__, i);
   NonZeroElem **temp_NZE_C = (NonZeroElem **) mxMalloc(i);
-  test_mxMalloc(*temp_NZE_C, __LINE__, __FILE__, __func__, i);
+  test_mxMalloc(temp_NZE_C, __LINE__, __FILE__, __func__, i);
   i = (periods+y_kmax+1)*Size*sizeof(int);
   NbNZRow = (int *) mxMalloc(i);
   test_mxMalloc(NbNZRow, __LINE__, __FILE__, __func__, i);